await_ only_ futures
Detalhes sobre o diagnóstico 'await_only_futures' produzido pelo analisador do Dart.
Uses 'await' on an instance of '{0}', which is not a subtype of 'Future'.
Descrição
#
O analisador emite este diagnóstico quando a expressão após await tem qualquer tipo diferente de
Future<T>, FutureOr<T>, Future<T>?, FutureOr<T>?
ou dynamic.
Uma exceção é feita para a expressão await null, porque é uma forma comum de introduzir um atraso de microtarefa.
A menos que a expressão possa produzir um Future, o await é desnecessário e pode levar quem lê o código a presumir um nível de assincronia que não existe.
Exemplo
#
O código a seguir produz este diagnóstico porque a expressão após await tem o tipo int:
void f() async {
await 23;
}
Correções comuns
#Remova o await:
void f() async {
23;
}
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ê.