メインコンテンツにスキップ

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();
}