假设我有10个网址,我希望为每个网址发出HTTP请求.
我可以创建一个可观察的URL,然后.flatMap()
是每个URL 的请求,然后.subscribe
是结果.但这会立即产生所有要求.
有没有办法对固定数量的请求数量施加限制,以免使服务器过载
它是2018年,rxjs 5就在这里,这就是我解决它的方式
urls$ .mergeMap((url) => request({ url }), null, 10) .subscribe()
mergeMap
(aka flatMap
)已经将"max concurrency"作为其第3个参数(参见文档)
顺便说一句.我使用universal-rxjs-ajax(the request
)来实现节点兼容性,但它应该与它一样Observable.ajax