跳到主內容

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 檔案中,將 unnecessary_async 新增到 linter > rules

analysis_options.yaml
yaml
linter:
  rules:
    - unnecessary_async

如果您使用 YAML 對映語法配置 linter 規則,請在 linter > rules 下新增 unnecessary_async: true

analysis_options.yaml
yaml
linter:
  rules:
    unnecessary_async: true