未等待的_期货
Future
结果在 async
函数体中必须使用 dart:async
等待或标记为 unawaited
。
此规则从 Dart 2.0 开始可用。
此规则具有 快速修复 可用。
详情
#请 等待返回 Future
的函数在异步函数体内部。
在异步方法中忘记 await 很容易,因为命名约定通常不会告诉我们方法是同步还是异步(除了 dart:io
中的一些)。
当你真的想要启动一个“启动并忘记”的 Future
时,推荐的方法是使用 dart:async
中的 unawaited
。// ignore
和 // ignore_for_file
注释也适用。
错误
dart
void main() async {
doSomething(); // Likely a bug.
}
正确
dart
Future doSomething() => ...;
void main() async {
await doSomething();
unawaited(doSomething()); // Explicitly-ignored fire-and-forget.
}
用法
#要启用 unawaited_futures
规则,请在你的 analysis_options.yaml
文件中将 unawaited_futures
添加到 linter > rules 下
analysis_options.yaml
yaml
linter:
rules:
- unawaited_futures
除非另有说明,否则本网站上的文档反映了 Dart 3.5.3。页面最后更新于 2024-07-03。 查看源代码 或 报告问题。