Задать вопрос
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);
});

Что-то вроде этого, но это понятное дело не работает. Как решить?
  • Вопрос задан
  • 133 просмотра
Подписаться 1 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 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);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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