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
錯誤
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
如果您改為使用 YAML 對應語法來設定 linter 規則,請在 linter > rules 下新增 avoid_slow_async_io: true
analysis_options.yaml
yaml
linter:
rules:
avoid_slow_async_io: true
除非另有說明,否則本網站上的文件反映的是 Dart 3.7.1 版本。頁面上次更新於 2025-03-07。 查看原始碼 或回報問題。