discarded_futures
請勿在非 async
區塊中調用非同步函式。
詳細資訊
#在非 async
函式中進行非同步呼叫通常是程式設計錯誤的跡象。一般而言,這些函式應標記為 async
,並且這些 futures 可能應該被 await (如 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 map 語法來配置 linter 規則,請在 linter > rules 下新增 discarded_futures: true
analysis_options.yaml
yaml
linter:
rules:
discarded_futures: true
除非另有說明,否則本網站上的文件反映 Dart 3.7.1 版本。頁面最後更新於 2025-03-07。 檢視原始碼 或 回報問題。