Node.JS: Best way to handle max requests per minute to a server

Viewed 2098

I'm sorry if this question as already been answered and I hope I'm not breaking any SO rule, if so, in advance I apologise... I was wondering what was the best way to handle a request limiter? I've seen a bunch of throttles and rate-limiters online but I'm not sure how or if it could apply in my case.

I'm doing a bunch of [OUTGOING] request-promises based on an Array and on a server I can only make 90 request per minute. My request-promises are generated by this command: return Promise.all(array.map(request)).

I was thinking to handle it like this:

var i = 0;

return rp({
        url: uri,
        json: true,
      }).then((data) => {
        if (i <=90) {
          i ++;
          return data;
        } else {
          return i;
        }
      });

but I'm not sure if it will be a really effective way to handle it plus, I'm not sure how to handle the time relation yet... :S

Thanks in advance for your help and sorry I'm still a huge beginner...

3 Answers
Related