我尝试过合并多个事件的方法,但我无法让它工作 - 基本上这条线对于单个事件来说效果很好。
Observable.fromEvent(document.body, 'mousemove')
.switchMap(() => Observable.timer(0, 1000))
我想对mousemove
和keyup
这样的多个事件做同样的事情,所以我这样做了:
let mergedEvents = Observable.fromEvent(document.body, 'mousemove')
.merge(Observable.fromEvent(document.body, 'keyup'))
mergedEvents.subscribe(event => event.switchMap(() => Observable.timer(0, 1000))
哪个无法正常工作 - 如何让它与多个事件一起使用?
答案 0 :(得分:0)
您不能使用mergedEvens链接switchMap:
let mergedEvents = Observable
.fromEvent(document.body, 'mousemove')
.merge(Observable.fromEvent(document.body, 'keyup'))
mergedEvents
.switchMap(() => Observable.timer(0, 1000))
.(...)
此处的示例:https://jsbin.com/xiyuvuwogo/1/edit?js,console,output(这里我使用点击进入文档,检查它只需点击进入输出)