Código:
async function main() { const arr = []; symbols.forEach((symbol) => { const record = { [symbol]: { quote: priceQuote(token, symbol), history: makePriceHistoryRequest(token, symbol, slow * 2), } } arr.push(record); }) return arr; }Llamo a main de la siguiente manera:
main().then(res=>{ console.log(res); }) Devuelve quote e history como Promise . ¿Cómo puedo entrar en la promesa pendiente anidada?
¡Gracias!
Si la quote y el history son promesas, significa que priceQuote y makePriceHistoryRequest son funciones que devuelven promesas; en este caso, debe realizar la devolución de llamada que las itera de forma asíncrona, no el contenedor:
function main() { return Promise.all(symbols.map(async (symbol) => { const record = { [symbol]: { quote: await priceQuote(token, symbol), history: await makePriceHistoryRequest(token, symbol, slow * 2), } } return record }) } main().then(value => console.log(value) )