如何限制节点js中的异步调用数量?

时间:2019-04-24 17:30:05

标签: node.js asynchronous throttling

我试图将我可以对服务器进行的异步调用数量限制为每秒1个调用。我看着async eachOfLimit异步了,但不确定这是否是正确的解决方案。

我正在寻找一个已经存在的库,该库将包裹在请求模块周围,并实际上将请求每秒限制为1个。我只是不知道如何处理这种情况,我希望有某种标准。

1 个答案:

答案 0 :(得分:0)

如果您使用的是express,则可以使用npm中的http://demo.apexsmartpivot.com/ords/f?p=124:3:34834759031255::NO软件包。下面的用法-

const rateLimit = require("express-rate-limit");


app.enable("trust proxy"); // only if you're behind a reverse proxy (Heroku, Bluemix, AWS ELB, Nginx, etc)

const limiter = rateLimit({
  windowMs: 60 * 1000, // 1 minute
  max: 1 // limit each IP to 1 requests per windowMs
});

//  apply to all requests
app.use(limiter);