我正在尝试做一些基本的网络抓取,最终发现需要限制我的请求调用,因为当请求太多时服务器将返回一个找不到的页面
目前,我正在使用 request-promise 包装在 request-promise-retry 中进行此调用,并且我还发现这篇文章似乎正在尝试实现相同的事情Throttle and queue up API requests due to per second cap
我继续尝试使用 simple-rate-limiter,因为它看起来很简单易用,但出现以下错误
TypeError: requestPromise(...).catch is not a function
at promiseRetry.retries (C:\project\node_modules\request-promise-retry\index.js:18:27)
at C:\project\node_modules\promise-retry\index.js:29:24
at <anonymous>
我的猜测是 simple-rate-limiter 不适用于 request-promise 并且仅适用于 request。
是否有任何简单的方法来限制请求,而不必用“request”而不是“request-promise”重写我的所有调用?
或者使用普通的“请求”重写是一个好主意,这将是一个痛苦,因为我已经有几段用请求承诺编写的代码,并且期望返回一个承诺。