avoid_slow_async_io
低速な非同期 `dart:io` メソッドを避ける。
このルールは Dart 2.0 以後で利用可能です。
詳細
#**避けるべき**: 同期メソッドに比べて非常に低速なため、以下の非同期ファイル I/O メソッドの使用は避けてください。
Directory.exists
Directory.stat
File.lastModified
File.exists
File.stat
FileSystemEntity.isDirectory
FileSystemEntity.isFile
FileSystemEntity.isLink
FileSystemEntity.type
悪い例
dart
import 'dart:io';
Future<Null> someFunction() async {
var file = File('/path/to/my/file');
var now = DateTime.now();
if ((await file.lastModified()).isBefore(now)) print('before'); // LINT
}
良い例
dart
import 'dart:io';
Future<Null> someFunction() async {
var file = File('/path/to/my/file');
var now = DateTime.now();
if (file.lastModifiedSync().isBefore(now)) print('before'); // OK
}
使用方法
#`avoid_slow_async_io` ルールを有効にするには、`analysis_options.yaml` ファイルの **linter > rules** に `avoid_slow_async_io` を追加してください。
analysis_options.yaml
yaml
linter:
rules:
- avoid_slow_async_io
特に明記されていない限り、このサイトのドキュメントは Dart 3.5.3 を反映しています。ページの最終更新日: 2024-07-03. ソースを表示 または 問題を報告する。