Pular para o conteúdo principal

discarded_futures

Saiba mais sobre a regra de lint discarded_futures.

Estável
Correção disponível
Lançado no Dart 2.18

Não deve haver chamadas que retornam Future em funções síncronas, a menos que sejam atribuídas ou retornadas.

Detalhes

#

Fazer chamadas assíncronas em funções que não são async geralmente é sinal de erro de programação. Em geral, essas funções devem ser marcadas como async, e tais futures provavelmente devem ser aguardados com await (como exige unawaited_futures).

NÃO FAÇA invocar funções assíncronas em blocos que não são async.

RUIM:

dart
void recreateDir(String path) {
  deleteDir(path);
  createDir(path);
}
​
Future<void> deleteDir(String path) async {}
​
Future<void> createDir(String path) async {}

BOM:

dart
Future<void> recreateDir(String path) async {
  await deleteDir(path);
  await createDir(path);
}
​
Future<void> deleteDir(String path) async {}
​
Future<void> createDir(String path) async {}

Ativar

#

Para ativar a regra discarded_futures, adicione discarded_futures em linter > rules no seu arquivo analysis_options.yaml:

analysis_options.yaml
yaml
linter:
  rules:
    - discarded_futures

Se você usa a sintaxe de mapa YAML para configurar as regras de lint, adicione discarded_futures: true em linter > rules:

analysis_options.yaml
yaml
linter:
  rules:
    discarded_futures: true

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