Потому что асинхронщина
Нифига че творишь
У вас асинхронные запросы происходят после setCurrentMatches
это про количество запросов для получения изображений?
Это про то, как ты написал код
Что в нем плохо(ответ всё не принимается)? Что нужно переделать?
Смотри. Сама логика с N * 3 запроов - кринжатина и так делать не надо, форси нормальный API, надо хотя бы getImages({ ids: […] }) // не три сраных запроса, а один, в который все id загнать И твой код выглядел бы, как 2 запроса, а не перегон воздуха: const matches = await getMatches(); const images = await getImages({ ids: matches.flatMap(getMatchImagesIds) }); ——— Но, в целом, как решать подобную пердь: async function getMatches() { // грузишь N const matches = await getMatches(); // Штош, гениальное N * M return await Promise.all( matches.map(async match => ({ …match, images: await getMatchImages(match) })) ); } async function getMatchImages(match) { const [leftTeam, rightTeam, event] = await Promise.all([ getImage(match.leftTeam), getImage(match.rightTeam), getImage(match.event) ]); return { leftTeam, rightTeam, event }; }
Обсуждают сегодня