相关疑难解决方法(0)

rxjs只在订阅时使用promise一次

我想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功能似乎有同样的问题.

那剩下什么或者我错过了什么?

javascript promise rxjs

11
推荐指数
1
解决办法
1718
查看次数

标签 统计

javascript ×1

promise ×1

rxjs ×1