メインコンテンツにスキップ

unnecessary_async

実験的

awaitなし、asyncなし。

詳細

#

await を行わない関数は async である必要はありません。

通常、そのような関数は Future を返す必要もなく、呼び出し元がコード内で await を回避できるようになります。一般的に、同期コードはより高速に実行され、理解しやすくなります。

悪い例

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

良い例

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

有効にする

#

unnecessary_async ルールを有効にするには、analysis_options.yaml ファイルの linter > rules の下に unnecessary_async を追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    - unnecessary_async

代わりに YAML マップ構文を使用してリンター ルールを構成している場合は、linter > rules の下に unnecessary_async: true を追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    unnecessary_async: true