跳到主要内容

avoid_slow_async_io

使用了异步的 'dart:io' 方法。

描述

#

当使用了有同步等价形式的异步文件 I/O 方法时,分析器会生成此诊断信息。

以下是具体被标记的异步方法:

  • Directory.exists
  • Directory.stat
  • File.lastModified
  • File.exists
  • File.stat
  • FileSystemEntity.isDirectory
  • FileSystemEntity.isFile
  • FileSystemEntity.isLink
  • FileSystemEntity.type

示例

#

以下代码会生成此诊断信息,因为它调用了异步方法 exists

dart
import 'dart:io';

Future<void> g(File f) async {
  await f.exists();
}

常见修复

#

使用方法的同步版本

dart
import 'dart:io';

void g(File f) {
  f.existsSync();
}