DEV Community

kavya1205
kavya1205

Posted on

Batch API Calls in Javascript

Hi Everyone,
This was one of the javascript question that was asked during an interview - Batch api call

const urls = [
  'https://jsonplaceholder.typicode.com/posts/1',
  'https://jsonplaceholder.typicode.com/posts/2',
  'https://jsonplaceholder.typicode.com/posts/3',
  'https://jsonplaceholder.typicode.com/posts/4',
  'https://jsonplaceholder.typicode.com/posts/5',
  'https://jsonplaceholder.typicode.com/posts/6',
  'https://jsonplaceholder.typicode.com/posts/7',
  'https://jsonplaceholder.typicode.com/posts/8',
  'https://jsonplaceholder.typicode.com/posts/9',
  'https://jsonplaceholder.typicode.com/posts/10'
];


async function limitAPICalls(urls, limit = 3) {
  for (let i = 0; i < urls.length; i += limit) {
    const batch = urls.slice(i, i + limit);

    const responses = await Promise.all(
      batch.map(url => fetch(url).then(res => res.json()))
    );

    responses.forEach((res, index) => {
      console.log(`Response ${i + index + 1}:`, res);
    });
  }
}
const limitApis = limitAPICalls(urls)
Enter fullscreen mode Exit fullscreen mode

Top comments (0)