await emit.onEach(
// This stream, how do you handle when this stream is done?
stream,
onData: (data){
}
);
通常在Flutter Stream上我们有一个onDone回调,但是在emit onEach或forEach flutter块回调上,onDone不存在。
目前我的解决方案是
final broadCastStream = stream.asBroadcastStream();
broadCastStream.listen(
(event) {},
onDone: () {
// Handle on Done
},
);
await emit.onEach(
broadCastStream,
onData: (data){
}
);
我想在流完成/取消/错误时发出一个新状态
2条答案
按热度按时间5jdjgkvh1#
future在调用onDone时完成。
m2xkgtsf2#
你可以考虑直接监听
stream
。并使用onError
、onDone
和cancelOnError
回调。来自文档:Stream-listen
示例: