unawaited_ futures
Saiba mais sobre a regra de lint unawaited_futures.
Resultados Future em corpos de funções async devem ter await ou ser marcados como
unawaited usando dart:async.
Detalhes
#
FAÇA usar await em funções que retornam um Future ou FutureOr
dentro do corpo de uma
função async.
É fácil esquecer o await em métodos async, já que as convenções de nomenclatura geralmente não
nos dizem se um método é síncrono ou async (exceto por alguns em dart:io).
Quando você realmente quer iniciar um Future do tipo "dispara e esquece", a forma recomendada
é usar unawaited de dart:async. Os comentários // ignore
e // ignore_for_file também
funcionam.
RUIM:
Future doSomething() => ...;
void main() async {
doSomething(); // Likely a bug.
}
BOM:
Future doSomething() => ...;
void main() async {
await doSomething();
unawaited(doSomething()); // Explicitly-ignored fire-and-forget.
// ignore: unawaited_futures
doSomething(); // Explicitly-ignored fire-and-forget.
}
Ativar
#
Para ativar a regra unawaited_futures, adicione unawaited_futures em
linter > rules no seu arquivo analysis_options.yaml:
linter:
rules:
- unawaited_futures
Se você usa a sintaxe de mapa YAML para configurar as regras de lint,
adicione unawaited_futures: true em linter > rules:
linter:
rules:
unawaited_futures: true
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ê.