async_ for_ in_ wrong_ context
Detalhes sobre o diagnóstico 'async_for_in_wrong_context' produzido pelo analisador do Dart.
The async for-in loop can only be used in an async function.
Descrição
#
O analisador emite este diagnóstico quando um laço for-in assíncrono é
encontrado em uma função ou método cujo corpo não está marcado como async
nem como async*.
Exemplo
#
O código a seguir produz este diagnóstico porque o corpo de f não está
marcado como async nem como async*, mas f contém um laço
for-in
assíncrono:
void f(Stream<int> list) {
await for (var e in list) {
print(e);
}
}
Correções comuns
#Se a função deve retornar um Future, marque o corpo com async:
Future<void> f(Stream<int> list) async {
await for (var e in list) {
print(e);
}
}
Se a função deve retornar um Stream de valores, marque o corpo com
async*:
Stream<void> f(Stream<int> list) async* {
await for (var e in list) {
print(e);
}
}
Se a função deve ser síncrona, remova o await antes do laço:
void f(List<int> list) {
for (var e in list) {
print(e);
}
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.