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
文件中将 avoid_slow_async_io
添加到 **linter > rules** 下。
analysis_options.yaml
yaml
linter:
rules:
- avoid_slow_async_io
除非另有说明,否则本网站上的文档反映了 Dart 3.5.3。 页面最后更新时间为 2024-07-03。 查看源代码 或 报告问题.