执行以下代码时,
var o = Rx.Observable.interval(100).flatMap(n =>
Rx.Observable.concat(
Rx.Observable.from([1,2,3]),
Rx.Observable.defer(()=> {
console.log("defer");
return Rx.Observable.from[4,5,6];
})));
o.take(1).subscribe(n => console.log(n), e => console.log(e), ()=>console.log("complete"));
我得到了输出。
1
complete
deferred
创建延迟的observable可能需要花费一些时间,但Observable.from()会运行并完成,这会导致创建延迟的observable,即使我使用take(1)限制了流。 (此代码段来自REST API客户端,它连续请求下一页。)
当我需要concat
将它编入枚举时,如何避免创建延迟的observable?