Pular para o conteúdo principal

unnecessary_await_in_return

Detalhes sobre o diagnóstico 'unnecessary_await_in_return' produzido pelo analisador do Dart.

Unnecessary 'await'.

Descrição

#

O analisador emite este diagnóstico quando uma função ou método async retorna uma expressão await e o tipo estático do Future aguardado é um subtipo do tipo de retorno declarado.

O await é desnecessário porque retornar um Future de uma função async já produz um Future que completa com o mesmo resultado.

O analisador não reporta este diagnóstico para expressões await dentro de um bloco try, pois remover o await altera a forma como os erros do Future aguardado são tratados.

Exemplo

#

O código a seguir produz este diagnóstico porque a função f tem tipo de retorno Future<int> e retorna um Future aguardado cujo tipo estático também é Future<int>:

dart
Future<int> f(Future<int> future) async {
  return await future;
}

Correções comuns

#

Remova o await desnecessário:

dart
Future<int> f(Future<int> future) async {
  return future;
}

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