Flutter 如何向dart流添加超时

Flutter 如何向dart流添加超时,flutter,dart,Flutter,Dart,当我监听一个流但在一段时间后没有收到一个值时,我希望得到一个超时。 下面是一个示例,它可能是这样的: dtcStatus.valueStream.stream.listen ((event) { do Something with the event }, timeoutDuration: Duration(milliseconds: 300), onTimeout: () { do something on the timeout here

当我监听一个流但在一段时间后没有收到一个值时,我希望得到一个超时。 下面是一个示例,它可能是这样的:

dtcStatus.valueStream.stream.listen
   ((event) {
         do Something with the event
   }, 
   timeoutDuration: Duration(milliseconds: 300), 
   onTimeout: () {
    do something on the timeout here
   }
);
可以用扩展来存档吗?

流媒体上的方法:

timeout(Duration timeLimit, {void onTimeout(EventSink<T> sink)}) → Stream<T>
Creates a new stream with the same events as this stream. [...]
超时(持续时间限制,{void onTimeout(EventSink)})→ 流动
创建与此流具有相同事件的新流。[...]

应该正是你想要的。你的语法几乎正确

是的,谢谢,我也找到了。。。dtcStatus.valueStream.stream.timeout(持续时间(毫秒:300),onTimeout:({})。侦听((事件){}