获取RxJS Observable的最后两个值之间的差异

Eff*_*iel 19 javascript rxjs

我有一个可观察的跟踪滚动位置

 const scroll = Observable
  .fromEvent(document, 'scroll')
  .map(e => window.pageYOffset)
  .startWith(0)
Run Code Online (Sandbox Code Playgroud)

我想有第二个观察跟踪滚动增量 (newScroll - lastScroll)

const scrollDelta = scroll
  // ???
  .subscribe(delta => console.log('delta:', delta) )
Run Code Online (Sandbox Code Playgroud)

如何实现这样的事情?我试过扫描没有成功.谢谢

Bra*_*don 29

成对使用:

scroll
    .pairwise()
    .map([a, b] => b - a);
Run Code Online (Sandbox Code Playgroud)


bro*_*rms 8

老问题,但要加信息的RxJS 5版本,其中API面已经有所改变,我花了一些时间来找到答案:相当于pairwisebufferWithCount(2,1)(V4)或bufferCount(2,1)(V5).