我正在使用此模块https://www.npmjs.com/package/limiter来将http请求限制为使用以下内容的网站:
let running = true;
const limiter = new RateLimiter(
1,
'second'
);
function removeTokens(limiter, tokens){
const self = this;
return new Promise((resolve) => {
if (!running) throw new Error('Terminated prematurely');
limiter.removeTokens(tokens, resolve)
});
}
Array.apply(null, {length: 1000}).map(Number.call, Number).map(number=>{
return removeTokens(limiter,1).then(()=>{
request('http://test.com/'+number);
});
});
setTimeout(()=>{running=false},1000);
我的问题是我无法清除该模块使用的基础超时,因此请求不断被调用。我试图分叉存储库并创建自己的解决方案,但是它们都失败了。如果需要,我可以提供尝试的解决方案。有什么简单的方法可以清除我所缺少的超时(不构建自己的排队系统)?