gpt4 book ai didi

rxjs - RxJS可观察到,从第一次发射开始既发射先前值又发射当前值

转载 作者:行者123 更新时间:2023-12-03 15:18:02 26 4
gpt4 key购买 nike

我有一个BehaviorSubject,它会定期发出JavaScript对象。我想构造另一个可观察对象,该对象将发出基础可观察对象的先前值和当前值,以便比较两个对象并确定增量。

pairwise() bufferCount(2, 1) 运算符看起来很合适,但它们仅在缓冲区填充后才开始发出,但我要求此可观察对象从基础可观察对象的第一个事件开始发出。

subject.someBufferingOperator()
.subscribe([previousValue, currentValue] => {
/** Do something */
})
;

On first emission the previousValue could be just null.



我可以使用一些内置运算符来获得所需的结果吗?

最佳答案

实际上,这就像将 pairwise() startWith() 运算符配对一样容易:

subject
.startWith(null) // emitting first empty value to fill-in the buffer
.pairwise()
.subscribe([previousValue, currentValue] => {
if (null === previousValue) {
console.log('Probably first emission...');
}
})
;

关于rxjs - RxJS可观察到,从第一次发射开始既发射先前值又发射当前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50059622/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com