glouton

1.0.0 • Public • Published

Glouton

Ever wanted to send a lot of requests concurrently to an API but got bothered with API limits ? Or failing requests ?

Example with fetch

import glouton from 'glouton';
 
const fetchNoLimit = glouton(fetch, {
 
  concurrency: 400, // 400 requests at a time
 
  validateResponse: r => {
 
    // if limit has been reached, we wait 1 second
    if (!r.ok && r.headers.get('x-ratelimit') === 0) {
      return 1000;
    }
    
    // if request has failed, we'll try again later
    if (!r.ok) {
      return 0;
    }
 
    // everything is ok, we shall proceed
    return true;
  },
 
});
 
[/* some ids */].forEach(() => {
  fetchNoLimit('http://someapi.on.the.web')
  .then((r) => {
    console.log("Here's my response!", r);
  });
});

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i glouton

      Weekly Downloads

      1

      Version

      1.0.0

      License

      MIT

      Last publish

      Collaborators

      • yorunohikage