跳到主要內容

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 對映語法來配置 Linter 規則,則在 linter > rules 下新增 avoid_void_async: true

analysis_options.yaml
yaml
linter:
  rules:
    avoid_void_async: true