跳到主要內容

avoid_void_async

穩定
提供修正

避免傳回 voidasync 函式。

詳細資料

#

應該async 函式標記為傳回 Future<void>

當宣告不傳回值的 async 方法或函式時,請宣告它傳回 Future<void>,而不是僅傳回 void

不良範例

dart
void f() async {}
void f2() async => null;

良好範例

dart
Future<void> f() async {}
Future<void> f2() async => null;

例外

針對最上層 main 函式有一個例外,在這種情況下,可以 (且通常應該) 捨棄 Future 註解,而改用 void

良好範例

dart
Future<void> f() async {}

void main() async {
  await f();
}

啟用

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_void_async

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

analysis_options.yaml
yaml
linter:
  rules:
    avoid_void_async: true