3
私はmousemoveイベントを使用してオブザーバブルを作成しています。n番目の値ごとにどのように放出するのですか?
Observable.fromEvent(document, 'mousemove')
10回ごとにイベントを発行する必要があります。私は何をしますか?私はそれを行うには4つの異なる方法を考えることができ
私はmousemoveイベントを使用してオブザーバブルを作成しています。n番目の値ごとにどのように放出するのですか?
Observable.fromEvent(document, 'mousemove')
10回ごとにイベントを発行する必要があります。私は何をしますか?私はそれを行うには4つの異なる方法を考えることができ
:
バッファカウント()
Observable.range(1, 55)
.bufferCount(10)
.map(arr => arr[arr.length - 1])
.subscribe(val => console.log(val));
windowCount()
Observable.range(1, 55)
.windowCount(10)
.switchMap(window => window.takeLast(1))
.subscribe(val => console.log(val));
デバウンス()
let source = Observable.range(1, 55).publish();
source
.debounce(val => debounceNotifier)
.subscribe(val => console.log(val));
let debounceNotifier = source
.bufferCount(10)
.publish();
debounceNotifier.connect();
source.connect();
スキャン()
Observable.range(1, 55)
.scan((acc, val) => {
if (acc.length === 10) {
acc = [];
}
acc.push(val);
return acc;
}, [])
.filter(acc => acc.length === 10)
.map(acc => acc[acc.length - 1])
.subscribe(val => console.log(val));
scan()
を使用している場合しかし、それは最後の値55
を破棄しますよ。それらのすべてのための
私はPlunkrを準備していたが、この答えはそれをすべて言います! :) – Maxime
@martin、あなたは素晴らしいです!どうもありがとうございました! –