unawaited_futures
async
関数本体内のFuture
の結果は、dart:async
を使用してawait
するか、unawaited
でマークする必要があります。
このルールは、Dart 2.0から利用可能です。
このルールには、クイックフィックスがあります。
詳細
#必ず、async
関数本体内でFuture
を返す関数をawait
してください。
命名規則では同期か非同期かが分かりにくい(dart:io
の一部のメソッドを除く)ため、async
メソッドでawait
を忘れることがよくあります。
本当にファイアアンドフォーゲットのFuture
を開始したい場合は、dart:async
のunawaited
を使用することをお勧めします。// ignore
および// ignore_for_file
コメントも機能します。
悪い例
dart
void main() async {
doSomething(); // Likely a bug.
}
良い例
dart
Future doSomething() => ...;
void main() async {
await doSomething();
unawaited(doSomething()); // Explicitly-ignored fire-and-forget.
}
使用方法
#unawaited_futures
ルールを有効にするには、analysis_options.yaml
ファイルのlinter > rulesの下にunawaited_futures
を追加します。
analysis_options.yaml
yaml
linter:
rules:
- unawaited_futures
特に記載がない限り、このサイトのドキュメントはDart 3.5.3を反映しています。最終更新日:2024年7月3日。 ソースコードを見る または 問題を報告する。