【问题标题】:Using Rxjs5 (Beta) to cap http requests使用 Rxjs5 (Beta) 限制 http 请求
【发布时间】:2016-06-11 13:02:00
【问题描述】:

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

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

【问题讨论】:

    标签: rxjs rxjs5


    【解决方案1】:

    不确定这是否是最好的方法,但我最终使用间隔观察器压缩了请求对象流,因此它仅在间隔滴答声时才会流式传输事件。 再次,不确定这是否是最好的方法,但它有效,它看起来像这样:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-27
        • 2014-08-19
        • 1970-01-01
        • 1970-01-01
        • 2022-10-02
        • 2017-06-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多