內容

discarded_futures

請勿在非 async 區塊中呼叫非同步函式。

此規則自 Dart 2.18 起可用。

此規則提供快速修正

詳細資訊

#

在非 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