Pular para o conteúdo principal

unnecessary_async

Saiba mais sobre a regra de lint unnecessary_async.

Experimental
Correção disponível
Lançado no Dart 3.7

Sem await, sem async.

Detalhes

#

Funções que não usam await não precisam ser async.

Normalmente, essas funções também não precisam retornar um Future, o que permite que quem as invoca evite await no próprio código, entre outros. Código síncrono, em geral, roda mais rápido e é mais fácil de raciocinar sobre ele.

RUIM:

dart
void f() async {
  // await Future.delayed(const Duration(seconds: 2));
  print(0);
}

BOM:

dart
void f() {
  // await Future.delayed(const Duration(seconds: 2));
  print(0);
}

Ativar

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - unnecessary_async

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

analysis_options.yaml
yaml
linter:
  rules:
    unnecessary_async: 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ê.