【发布时间】:2022-08-02 21:41:28
【问题描述】:
在 RXJS 的世界中,我有一个我想缓冲/批处理的 observables 流。为此,我使用可爱的 bufferCount(5) 来减慢速度
bufferCount(5)
然后我想解决一个异步调用(保存到数据库),这是缓冲的 observable。
bufferCount(5),
switchMap(b => forkJoin(b)),
// unbuffer here
然后,我想取消缓冲或累积更改以获取单个更改列表。为此,我使用了bufferTime(2000) 并用地图跟踪它以使结果变平......不用说,我觉得这样做很肮脏。
如何在不使用计时器的情况下取消缓冲流?
-
你能解释一下真实的用例吗?因为我不明白你试图用 buffer + forkJoin 组合来实现什么,更不用说使用 switchMap 运算符可能取消以前的批次了。干杯
-
如果您想获得所有更改的单个列表,您可以使用
scan并将当前更改合并到一个大数组中。 -
添加了代码沙箱。
标签: javascript typescript rxjs