invalid_modifier_on_setter
Setter 不能使用 'async'、'async*' 或 'sync*'。
描述
#當 setter 的主體以以下修飾符之一為字首時,分析器會產生此診斷資訊:async、async* 或 sync*。Setter 主體必須是同步的。
示例
#以下程式碼會產生此診斷資訊,因為 setter x 的主體被標記為 async
dart
class C {
set x(int i) async {}
}常見修復方案
#如果 setter 可以是同步的,則移除該修飾符
dart
class C {
set x(int i) {}
}如果 setter 不能是同步的,則改用方法來設定值
dart
class C {
void x(int i) async {}
}