我想使用 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]