假设我有一个Stream<int>
,它以不同的时间增量(即5毫秒至1000毫秒)发射整数。
当增量<= 50ms时,我要合并它们。例如:
3, (delta:100) 5, (delta:27) 6, (delta:976) 3
我要消费:3、11(使用加法合并),3。
这可能吗?
答案 0 :(得分:0)
您可以使用debounceBuffer软件包中的stream_transform流转换器。
stream
.transform(debounceBuffer(const Duration(milliseconds: 50)))
.map((list) => list.fold(0, (t, e) => t + e))
答案 1 :(得分:0)
您可以自己写起来很容易:
<script src='https://cdn.jsdelivr.net/g/lodash@4(lodash.min.js+lodash.fp.min.js)'></script>