StreamSink 指的是流水线下水槽,使用它上面提供的方法也可以往流水线上添加一些东西。之前我们用过流水线控制器上的 .add() 添加数据,用 .addError() 添加错误。StreamSink 上面也有这两个方法可以往流水上添加数据或者添加错误。
下面我们可以定义一个 StreamSink,类型是 SteramSink
现在如果要往流水线上添加数据就可以使用这个 vehicleStreamSink 上面的 .add() 方法,要添加错误可以使用 .addError() 方法。你也可以直接使用 StreamController 上面的这两个方法添加数据还有错误,也可以用下水槽上的方法做这些事情,没啥区别。
只不过你需要在其它地方做这些事情的时候,可以创建一个 StreamSink 交给它们用,因为如果把 StreamController 交给这些地方,就相当于是把流水线的控制权交出去了,也就是它们就可以用这个控制器去做其它的一些事情。如果只给它们提供 StreamSink,它们就只能往流水线上添加数据或者错误之类的。
运行一下应用,在控制台上会输出添加到流水线上的数据还有错误。