Задать вопрос
lavezzi1
@lavezzi1

Как в forEach использовать await?

Есть async функция, внутри который сначала я фетчу первый массив данных, в нем получаю массив с id элементов который мне нужно зафетчить дальше:

const ids = await fetch('/api/ids/').then(response => response.json()).then(response => response.ids);
const items = [];
ids.forEach((id) => {
  item = await fetch(`/api/items/${id}`).then(response => response.json()).then(response => response.item);
  items.push(item);
});

Что-то вроде этого, но это понятное дело не работает. Как решить?
  • Вопрос задан
  • 135 просмотров
Подписаться 1 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Решения вопроса 1
@RidgeA
никак

лучше так:

const ids = await fetch('/api/ids/').then(response => response.json()).then(response => response.ids);
const promises = ids.map((id) => fetch(`/api/items/${id}`).then(response => response.json()));
const items = await Promise.all(promises);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы