Sammle RxJS Observable to Array
Ich möchte RxJS verwenden, um eine asynchrone Welt von Ereignissen mit der Sync-Welt zu "überbrücken". Insbesondere möchte ich eine Funktion erstellen, die eine Reihe von Ereignissen zurückgibt, die in einem bestimmten Zeitintervall gesammelt wurden.
Ich kann Observable erstellen, das macht, was ich will
var source = Rx.Observable
.interval(100 /* ms */)
.bufferWithTime(1000).take(1)
Ich kann die korrekten Werte gut ausdrucken
var subscription = source.subscribe(
function (x) {
console.log('Next: ' + JSON.stringify(x));
},
function () {
console.log('Completed');
});
Dies wird gedruckt
[0,1,2,3,4,5,6,7,8]
Completed
Aber ich möchte, dass dieses Array der Variablen zugewiesen wird. Konzeptionell möchte ich sowas
var collectedDuringSecond = source.toPromise.getValue()
Die Idee ist, dass getValue blockiert, nachdem die obige Zeile gesammelt wurde. Während der zweiten Sekunde wird [0,1,2,3,4,5,6,7,8] enthalten.