Coletar RxJS Observável na Matriz
Eu gostaria de usar o RxJS para "unir" o mundo assíncrono dos eventos com o mundo sincronizado. Especificamente, quero criar uma função que retorne uma matriz de eventos coletados durante algum intervalo de tempo.
Eu posso criar o Observable que faz o que eu quero
var source = Rx.Observable
.interval(100 /* ms */)
.bufferWithTime(1000).take(1)
Eu posso imprimir os valores corretos
var subscription = source.subscribe(
function (x) {
console.log('Next: ' + JSON.stringify(x));
},
function () {
console.log('Completed');
});
Isso imprime
[0,1,2,3,4,5,6,7,8]
Completed
Mas quero que eu quero é atribuir essa matriz à variável. Conceitualmente, eu quero algo como
var collectedDuringSecond = source.toPromise.getValue()
A ideia é que getValue bloqueie, portanto, após a linha acima ser coletada, o DuringSecond conterá [0,1,2,3,4,5,6,7,8]