跳到主要內容

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