Supongamos que tengo lo siguiente:
async function getReactionScores(userReactions) { const reactionsWithSharesPromises = userReactions.map((reactions) => { return { emoji: reactions.emoji, shares: reactions.users.map(async (user) => { return { username: user.username, // Just as an example of something to wait for shares: await sleep(1, user.id), }; }), }; }); } function sleep(time, userID) { return new Promise((resolve) => setTimeout(resolve(userID), time)); }¿Cómo espero que se resuelvan todas las promesas dentro del segundo mapa? Si fuera solo un mapa, podría hacer Promise.all, pero Promise all no es recursivo.
Necesitarás 2 Promise.all
async function getReactionScores(userReactions) { const reactionsWithSharesPromises = await Promise.all(userReactions.map(async (reactions) => { return { emoji: reactions.emoji, shares: await Promise.all(reactions.users.map(async (user) => { return { username: user.username, // Just as an example of something to wait for shares: await sleep(1, user.id), }; })), }; })); }