system.reactive - 我的 "zipLatest"运算符已经存在吗?

标签 system.reactive rxjs

有关我为自己写的运算符的快速问题。

请原谅我穷人的大理石图:

zip
aa--bb--cc--dd--ee--ff--------gg
--11----22--33--------44--55----
================================
--a1----b2--c3--------d4--e5----

combineLatest
aa--bb--cc--dd--ee--ff--------gg
--11----22--33--------44--55----
================================
--a1b1--c2--d3--e3--f3f4--f5--g5

zipLatest
aa--bb--cc--dd--ee--ff--------gg
--11----22--33--------44--55----
================================
--a1----c2--d3--------f4------g5
zipLatest(我写的那个)与zip几乎同时触发,但不包括zip排队。

我已经实现了它,我只是想知道是否已经存在。
我知道我过去曾经写过类似的方法,目的是随机发现我写了sample运算符而不知道它。

那么,这是否已经存在于框架中,或者以我没想到的琐碎的元素构成而存在?

注意:我不想依靠输入的相等性来进行重复数据删除(la distinctUntilChanged)。
它应与仅在一个时间间隔上输出"a"的信号一起使用。

最佳答案

要对此问题进行更新:RxJS 6中仍然没有针对此要求的运算符,并且似乎没有计划在将来的发行版中进行任何操作。也没有提议该运算符的未公开拉取请求。

如建议的herecombineLatestfirstrepeat的组合将产生预期的行为:

combineLatest(obs1, obs2).pipe(first()).pipe(repeat());
combineLatest将等待两个Observable的发射-将所有发射与最新发射分开。在first上发射并且repeat重新订阅后,combineLatest将完成Observable,从而使其再次等待两个Observable的最新值。
repeat的重新订阅行为尚未完全记录,但可以在GitHub source中找到:

source.subscribe(this._unsubscribeAndRecycle());

关于system.reactive - 我的 "zipLatest"运算符已经存在吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38190722/

相关文章:

c# - 如何使用响应式(Reactive)扩展同时读取交错文件

angular - 如何延迟重置 Observable?

rxjs - 如何从对象数组中提取 2 个属性作为可观察对象?

c# - Rx : How can I respond immediately, 并限制后续请求

c# - ObserveOn with Scheduler.NewThread 不这么观察,如果observer的OnNext被阻塞继续

c# - Rx - 暂停 Observable.Interval

typescript - switchMap 结合 mergeMap

c# - 从存储库向 UI 报告进度的好方法是什么

angular - 如何在map之前在rxjs中保存值

javascript - 过滤窗口上的事件与 DOM 节点上的单个事件