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

discarded_futures

安定版
修正が利用可能です

同期関数内に、代入または返却されない Future を返す呼び出しがあってはなりません。

詳細

#

通常、非async 関数で非同期呼び出しを行うことはプログラミングエラーの兆候です。一般的に、これらの関数はasync としてマークされるべきであり、そのような Future はおそらく待機されるべきです (unawaited_futures によって強制されます)。

async ブロックで非同期関数を呼び出さないでください。

悪い例

dart
void recreateDir(String path) {
  deleteDir(path);
  createDir(path);
}

Future<void> deleteDir(String path) async {}

Future<void> createDir(String path) async {}

良い例

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 {}

有効にする

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - discarded_futures

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

analysis_options.yaml
yaml
linter:
  rules:
    discarded_futures: true