Javascript 获取RxJS可观测值的最后两个值之间的差值
我有一个可观察到的滚动位置跟踪Javascript 获取RxJS可观测值的最后两个值之间的差值,javascript,rxjs,Javascript,Rxjs,我有一个可观察到的滚动位置跟踪 const scroll = Observable .fromEvent(document, 'scroll') .map(e => window.pageYOffset) .startWith(0) 我想要第二个可观察到的跟踪滚动增量(newScroll-lastcoll) 如何实现这样的功能? 我试过扫描,但没有成功。 Thx使用: 老问题,但要为RxJS版本5添加信息,其中API表面已经发生了一些变化,我花了一些时间找到答案:等价于成对
const scroll = Observable
.fromEvent(document, 'scroll')
.map(e => window.pageYOffset)
.startWith(0)
我想要第二个可观察到的跟踪滚动增量(newScroll-lastcoll)
如何实现这样的功能?
我试过扫描,但没有成功。
Thx使用:
老问题,但要为RxJS版本5添加信息,其中API表面已经发生了一些变化,我花了一些时间找到答案:等价于成对的
将是bufferWithCount(2,1)
(v4)或bufferCount(2,1)
(v5)。它在beta1中再次添加。谢谢你的信息。有时,跟踪重命名运算符的名称可能需要一些时间。如果观察到的变量是对象,有什么方法可以做到这一点吗?我想检索前一个值和当前值的差值,是否有可能这样做?
const scrollDelta = scroll
// ???
.subscribe(delta => console.log('delta:', delta) )
scroll
.pairwise()
.map(([a, b]) => b - a);