RxJS を使用して、非同期のイベントの世界を同期の世界と「橋渡し」したいと考えています。具体的には、ある時間間隔で収集されたイベントの配列を返す関数を作成したいと考えています。
私が望むことをするObservableを作成できます
var source = Rx.Observable
.interval(100 /* ms */)
.bufferWithTime(1000).take(1)
正しい値をうまく印刷できます
var subscription = source.subscribe(
function (x) {
console.log('Next: ' + JSON.stringify(x));
},
function () {
console.log('Completed');
});
これは印刷します
[0,1,2,3,4,5,6,7,8]
Completed
しかし、私が望むのは、この配列を変数に割り当てることです。概念的には、次のようなものが必要です
var collectedDuringSecond = source.toPromise.getValue()
getValue がブロックされるため、上記の行が完了した後、collectedDuringSecond には [0,1,2,3,4,5,6,7,8] が含まれます。