跳至主要內容

unnecessary_async

實驗性

沒有 await 就沒有 async。

詳細資訊

#

不執行 await 的函式不必是 async

通常這類函式也不必傳回 Future,這讓調用者可以避免在其程式碼中使用 await 等。一般而言,同步程式碼執行速度更快,也更容易理解。

不良範例

dart
void f() async {
  // await Future.delayed(const Duration(seconds: 2));
  print(0);
}

良好範例

dart
void f() {
  // await Future.delayed(const Duration(seconds: 2));
  print(0);
}

啟用

#

若要啟用 unnecessary_async 規則,請在您的 analysis_options.yaml 檔案中的 linter > rules 下新增 unnecessary_async

analysis_options.yaml
yaml
linter:
  rules:
    - unnecessary_async

如果您改為使用 YAML map 語法來設定 linter 規則,請在 linter > rules 下新增 unnecessary_async: true

analysis_options.yaml
yaml
linter:
  rules:
    unnecessary_async: true