0
以下代碼定義我想要的行爲(它的工作原理)。 mousemove事件的發生只在鼠標關閉時發生。取消takeUntil/skipUtill
Rx.Observable.fromEvent(window,"mouseup")
.subscribe(
() => {
if(subscription)
subscription.dispose();
}
)
Rx.Observable.fromEvent(window,"mousedown")
.subscribe(
() => {
subscription = Rx.Observable.fromEvent(window,"mousemove")
.subscribe(
(event) => console.log(event)
)
}
)
我想用takeUntil/skipUntil操作符來重寫它。但是這個失敗:
let fs = [
(e) => console.log(e),
(err) => console.log(err),
() => {
console.log('done')
source.subscribe(...fs);
}
];
let getDown =() => Rx.Observable.fromEvent(document,"mousedown");
let getUp =() => Rx.Observable.fromEvent(document,"mouseup");
let source = Rx.Observable.fromEvent(document,"mousemove")
.skipUntil(getDown())
.takeUntil(getUp());
source.subscribe(
...fs
)
我該怎麼做?謝謝!