await_only_futures
在 '{0}' 的实例上使用了 'await',它不是 'Future' 的子类型。
描述
#当 await
后面的表达式类型不是 Future<T>
, FutureOr<T>
, Future<T>?
, FutureOr<T>?
或 dynamic
时,分析器会生成此诊断。
表达式 await null
是一个例外,因为它是引入微任务延迟的常用方法。
除非该表达式能产生 Future
,否则 await
是不必要的,并且可能导致读者误认为存在异步性。
示例
#以下代码会产生此诊断,因为 await
后面的表达式类型是 int
dart
void f() async {
await 23;
}
常见修复方法
#移除 await
dart
void f() async {
23;
}