Встречается на собеседованиях • сегодня

Как вызвать несколько запросов

Есть несколько способов:

  1. Последовательно (один за другим):
javascript
async function fetchSequentially() {
  const res1 = await fetch('/api/data1');
  const res2 = await fetch('/api/data2');
  return [await res1.json(), await res2.json()];
}
  1. Параллельно (Promise.all):
javascript
async function fetchParallel() {
  const [res1, res2] = await Promise.all([
    fetch('/api/data1').then(r => r.json()),
    fetch('/api/data2').then(r => r.json())
  ]);
  return [res1, res2];
}
  1. С ограничением параллелизма (например, библиотека p-limit):
javascript
import pLimit from 'p-limit';
const limit = pLimit(2); // Макс 2 параллельных запроса

async function fetchLimited() {
  return Promise.all([
    limit(() => fetch('/api/data1')),
    limit(() => fetch('/api/data2')),
    limit(() => fetch('/api/data3'))
  ]);
}

Для сложных сценариев лучше использовать библиотеки типа Axios с его cancelToken или RTK Query для кеширования.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы