Flutter:允许 Stream<Null> 吗?
Flutter: Stream<Null> is allowed?
有时,当我观看一些使用流的项目时,我会看到类似这样的内容:
final controller = StreamController<Null>();
然后:
controller.sink.add(null);
那么,是否允许在流中传递 null?为什么?
这是围绕接收器需要参数这一事实的黑客攻击。
有些人将流用作事件的流动而不是随时间变化的值,但 class 的设计并未考虑到这一点。他们通常会尝试将以下方法表示为流:
void onClick();
Null
因为在支持 void
之前使用了泛型类型参数,这意味着在这种情况下只有偶数的出现才有意义,但事件值没有意义。
对于 Null
,值 null
是唯一有效的事件值。使用 void
可以传递一个不带任何参数的回调函数。
有时,当我观看一些使用流的项目时,我会看到类似这样的内容:
final controller = StreamController<Null>();
然后:
controller.sink.add(null);
那么,是否允许在流中传递 null?为什么?
这是围绕接收器需要参数这一事实的黑客攻击。
有些人将流用作事件的流动而不是随时间变化的值,但 class 的设计并未考虑到这一点。他们通常会尝试将以下方法表示为流:
void onClick();
Null
因为在支持 void
之前使用了泛型类型参数,这意味着在这种情况下只有偶数的出现才有意义,但事件值没有意义。
对于 Null
,值 null
是唯一有效的事件值。使用 void
可以传递一个不带任何参数的回调函数。