async_for_in_wrong_context
async for-in ループは async 関数内でのみ使用できます。
説明
#この診断は、analyzer が、本体が async または async* としてマークされていない関数またはメソッド内で async for-in ループを見つけた場合に生成されます。
例
#次のコードは、f の本体が async または async* としてマークされておらず、f に async for-in ループが含まれているため、この診断を生成します。
dart
void f(list) {
await for (var e in list) {
print(e);
}
}一般的な修正
#関数が Future を返す必要がある場合は、本体を async でマークしてください。
dart
Future<void> f(list) async {
await for (var e in list) {
print(e);
}
}関数が値の Stream を返す必要がある場合は、本体を async* でマークしてください。
dart
Stream<void> f(list) async* {
await for (var e in list) {
print(e);
}
}関数が同期である必要がある場合は、ループ前の await を削除してください。
dart
void f(list) {
for (var e in list) {
print(e);
}
}