ズンドコキヨシについてはこちら ⇒ ズンドコキヨシまとめ
おもむろに RxJS & ES2015 でやってみました。
import {Rx} from 'rx';
const subject = new Rx.Subject();
function doZunDoko() {
while (!subject.isStopped) {
if (Math.random() > 0.5) {
subject.onNext('ズン');
} else {
subject.onNext('ドコ');
}
}
}
const subscription = subject
.doOnNext((aString) => console.log(aString))
.bufferWithCount(5, 1)
.filter((aArray) => aArray.join(',') === 'ズン,ズン,ズン,ズン,ドコ')
.take(1)
.subscribe(() => {
console.log('キ・ヨ・シ!');
subject.onCompleted();
subscription.dispose();
});
doZunDoko();
実際の挙動はこちらから確認できます(GitHub Pages)。
⇒ http://hkusu.github.io/rxjs-zundoko/
コンソールを開いてください。
ソースは GitHub に置きました。
⇒ https://github.com/hkusu/rxjs-zundoko