获得 Stream 的方法:
- 通过构造函数
- 使用StreamController
- IO Stream
stream有三个构造方法:
-
Stream.fromFuture:从Future创建新的单订阅流,当future完成时将触发一个data或者error,然后使用Down事件关闭这个流。
-
Stream.fromFutures:从一组Future创建一个单订阅流,每个future都有自己的data或者error事件,当整个Futures完成后,流将会关闭。如果Futures为空,流将会立刻关闭。
-
Stream.fromIterable:创建从一个集合中获取其数据的单订阅流。
Stream.fromIntreable([1,2,3]);
🧐监听 Stream 的方法
监听一个流最常见的方法就是listen。当有事件发出时,流将会通知listener。Listen方法提供了这几种触发事件:
- onData(必填):收到数据时触发
- onError:收到Error时触发
- onDone:结束时触发
- unsubscribeOnError:遇到第一个Error时是否取消订阅,默认为false
使用 await for 处理 Stream
除了通过 listen,我们还可以使用 await for 来处理