Pular para o conteúdo principal

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:

dart
void f() async {
  await 23;
}

Correções comuns

#

Remova o await:

dart
void f() async {
  23;
}

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ê.