用户登录

StreamSink 指的是流水线下水槽,使用它上面提供的方法也可以往流水线上添加一些东西。之前我们用过流水线控制器上的 .add() 添加数据,用 .addError() 添加错误。StreamSink 上面也有这两个方法可以往流水上添加数据或者添加错误。

下面我们可以定义一个 StreamSink,类型是 SteramSink 名字是 vehicleStreamSink ,它的值是 vehicleStreamController 上的 sink。

现在如果要往流水线上添加数据就可以使用这个 vehicleStreamSink 上面的 .add() 方法,要添加错误可以使用 .addError() 方法。你也可以直接使用 StreamController 上面的这两个方法添加数据还有错误,也可以用下水槽上的方法做这些事情,没啥区别。

只不过你需要在其它地方做这些事情的时候,可以创建一个 StreamSink 交给它们用,因为如果把 StreamController 交给这些地方,就相当于是把流水线的控制权交出去了,也就是它们就可以用这个控制器去做其它的一些事情。如果只给它们提供 StreamSink,它们就只能往流水线上添加数据或者错误之类的。

运行一下应用,在控制台上会输出添加到流水线上的数据还有错误。

Dart 异步编程:流水线下水槽《 Dart 语言:异步编程 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点