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 {}
}