Abi*_*bin 30
我将尝试用一个简单的例子来解释,因为从那时起它很容易理解.
Sink并且Streams都是流控制器的一部分.您可以将数据添加到流控制器,使用sink该数据可以通过该控制器进行监听stream
例:
final _user = StreamController<User>();
Sink get updateUser => _user.sink;
Stream<User> get user => _user.stream;
Run Code Online (Sandbox Code Playgroud)
用法:
updateUser.add(yourUserObject); // This will add data to the stream.
user.listen((user) => print(user)); // Whenever a data is added to the stream via sink, it will be emitted which can be listened using the listen method.
Run Code Online (Sandbox Code Playgroud)
您可以在发出流之前执行各种操作.transformmethod是一个示例,可用于在输入数据发出之前对其进行转换.
A StreamSink是一个StreamConsumer,表示它可以接收多个流(由添加addStream),并处理这些流发出的事件。
如果是的StreamSink,StreamController则添加的流中的所有事件均由所创建的流发出StreamController。
这样,您可以将一个或多个流传输(转发)到另一流中。
| 归档时间: |
|
| 查看次数: |
6224 次 |
| 最近记录: |