内容

discarded_futures

不要在非 async 块中调用异步函数。

此规则从 Dart 2.18 开始可用。

此规则有一个 快速修复 可用。

详情

#

在非 async 函数中进行异步调用通常是编程错误的征兆。 通常,这些函数应该标记为 async,并且这些 Future 应该等待(如 unawaited_futures 强制执行)。

不要 在非 async 块中调用异步函数。

错误

dart
void recreateDir(String path) {
  deleteDir(path);
  createDir(path);
}

Future<void> deleteDir(String path) async {}

Future<void> createDir(String path) async {}

正确

dart
Future<void> recreateDir(String path) async {
  await deleteDir(path);
  await createDir(path);
}

Future<void> deleteDir(String path) async {}

Future<void> createDir(String path) async {}

用法

#

要启用 discarded_futures 规则,请在您的 analysis_options.yaml 文件中将 discarded_futures 添加到 linter > rules

analysis_options.yaml
yaml
linter:
  rules:
    - discarded_futures