当它与枚举'连续'时,如何避免创建'defer'red observable?

时间:2015-09-10 07:39:37

标签: javascript rxjs

执行以下代码时,

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?

0 个答案:

没有答案