获取 RxJS Observable 的最后两个值之间的差异
Get difference between last two values of an RxJS Observable
我有一个 observable 跟踪滚动位置
const scroll = Observable
.fromEvent(document, 'scroll')
.map(e => window.pageYOffset)
.startWith(0)
我想要第二个 observable 跟踪滚动增量 (newScroll - lastScroll)
const scrollDelta = scroll
// ???
.subscribe(delta => console.log('delta:', delta) )
如何实现这样的东西?
我试过扫描但没有成功。
谢谢
使用pairwise:
scroll
.pairwise()
.map(([a, b]) => b - a);
老问题,但要为 RxJS 版本 5 添加信息,其中 API 表面发生了一些变化,我花了一些时间才找到答案:等同于 pairwise
的是 bufferWithCount(2,1)
(v4) 或 bufferCount(2,1)
(v5).
我有一个 observable 跟踪滚动位置
const scroll = Observable
.fromEvent(document, 'scroll')
.map(e => window.pageYOffset)
.startWith(0)
我想要第二个 observable 跟踪滚动增量 (newScroll - lastScroll)
const scrollDelta = scroll
// ???
.subscribe(delta => console.log('delta:', delta) )
如何实现这样的东西? 我试过扫描但没有成功。 谢谢
使用pairwise:
scroll
.pairwise()
.map(([a, b]) => b - a);
老问题,但要为 RxJS 版本 5 添加信息,其中 API 表面发生了一些变化,我花了一些时间才找到答案:等同于 pairwise
的是 bufferWithCount(2,1)
(v4) 或 bufferCount(2,1)
(v5).