relation. Типизация Action
Closed this issue · 2 comments
kirimi commented
Здравствуйте!
Спасибо за апгрейд с null safety!
А так задумано, что если я типизирую Action как non-nullable
final someAction = Action<int>();
то в subscribe получается калбек c nullable
subscribe(someAction.stream, (int? param) {});
?
В каком случае туда null может прилететь?
class ExampleWm extends WidgetModel {
ExampleWm(WidgetModelDependencies baseDependencies) : super(baseDependencies);
// non-nullable type
final someAction = Action<int>();
@override
void onBind() {
super.onBind();
// nullable
subscribe(someAction.stream, (int? param) {});
}
}
pretorean commented
Там в реализации Action методы его вызова принимают опциональный параметр, ну то есть call([T? data])
Это сделано для того, чтобы Action<void>
можно было использовать без параметров, и типизированный Action тоже не всегда может получить значение.
kirimi commented
А void! Да так понятно.
Спасибо!