我想rxjs
第一次使用,但我有点被困'因为它的行为与我想要的完全不同:在我的场景中,我想从一个承诺中创建一个observable.但我希望承诺只被调用一次(不是每次订阅),我希望它不会在创建时被调用(将调用推迟到第一个订阅).
首先我尝试了这个:
var source = Rx.Observable.fromPromise(_this.getMyPromise())
Run Code Online (Sandbox Code Playgroud)
这会导致getMyPromise
在创建时调用该函数.这并不令人满意,因为当时我不知道是否真的会使用这个来源.
然后我尝试了:
var source = Rx.Observable.defer(function() { return _this.getMyPromise() })
Run Code Online (Sandbox Code Playgroud)
getMyPromise
每次对源进行新订阅时都会调用该函数.这会对Web服务器进行太多不必要的调用.该Rx.Observable.create
功能似乎有同样的问题.
那剩下什么或者我错过了什么?