avoid_slow_async_io
避免使用慢速的非同步 dart:io 方法。
詳情
#避免使用以下非同步檔案 I/O 方法,因為它們比同步方法慢得多。
Directory.existsDirectory.statFile.lastModifiedFile.existsFile.statFileSystemEntity.isDirectoryFileSystemEntity.isFileFileSystemEntity.isLinkFileSystemEntity.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 Map 語法配置 linter 規則,請在 linter > rules 下新增 avoid_slow_async_io: true
analysis_options.yaml
yaml
linter:
rules:
avoid_slow_async_io: true