使用Rxjs5(Beta)来限制http请求

时间:2016-02-28 14:05:24

标签: rxjs rxjs5

我正在使用RxJS5(https://github.com/ReactiveX/RxJS)而我正在尝试访问Riot API,其每10分钟的上限率为500次,每10秒发出10次请求。

我设置了一个请求对象流,我有一个订阅者准备好了它们并实际请求它们,但我在RxJS上有点新手,并且不确定我应该使用哪个运算符来限制请求。

2 个答案:

答案 0 :(得分:0)

不确定它是否是最佳方式,但我最终使用间隔观察器压缩请求objest流,因此只有在间隔时间点才会传输事件。 再次,不确定这是否是最好的方式,但它的工作原理,这就是它的样子:

raw_stream = Rx.Observable.fromEvent EventEmitter, 'event'
interval = Rx.Observable.interval(1000)
timed_events = Rx.Observable.zip interval, raw_stream

如果你有更好的方法,请随时回答。

答案 1 :(得分:0)

如果您想平衡您的请求,可以使用示例: const newRequests = requestStream.sample(Observable.timer(75)); //10*60*60/500 = 72 --> 75 to be sure 当给定的observable发出

时,Sample将从observable中发出一个元素