我想使用RxJS与同步世界"桥接"事件的异步世界.具体来说,我想创建一个函数,该函数返回在某个时间间隔内收集的事件数组.
我可以创建Observable来做我想要的
var source = Rx.Observable
.interval(100 /* ms */)
.bufferWithTime(1000).take(1)
Run Code Online (Sandbox Code Playgroud)
我可以打印正确的值
var subscription = source.subscribe(
function (x) {
console.log('Next: ' + JSON.stringify(x));
},
function () {
console.log('Completed');
});
Run Code Online (Sandbox Code Playgroud)
这打印
[0,1,2,3,4,5,6,7,8]
Completed
Run Code Online (Sandbox Code Playgroud)
但我想要的是将此数组赋值给变量.从概念上讲,我想要的东西
var collectedDuringSecond = source.toPromise.getValue()
这个想法是getValue会阻塞所以在上面的行完成之后collectDuringSecond将包含[0,1,2,3,4,5,6,7,8]