¿Hay alguna forma de usar Promise.all en mi caso? ¿Debería usar dos bucles diferentes (uno para enviar una serie de promesas y otro para enviar cada resultado al lugar correcto)?
(Esto es solo un ejemplo y mi código actual contiene muchos más datos, por lo que usar Promise.all parece muy interesante ya que las solicitudes son independientes entre sí)
const myFunction = async ()=>{ let someData=[{ID:55,name:'name1',firstname:'fname1',address:'address1'}, {ID:26,name:'name2',firstname:'fname2',address:'address2'}, {ID:88,name:'name3',firstname:'fname3',address:'address3'}] for (let i = 0; i < someData.length; i++) { someData[i].country = await getCountryFromDatabase(someData[i].ID) } }Gracias
Asigne la matriz a una matriz de promesas, utilizando la referencia al objeto que tiene en la devolución de llamada de asignación para mutarlo después de que finalice la llamada a la API.
let someData = [{ ID: 55, name: 'name1', firstname: 'fname1', address: 'address1' }, { ID: 26, name: 'name2', firstname: 'fname2', address: 'address2' }, { ID: 88, name: 'name3', firstname: 'fname3', address: 'address3' }] await Promise.all( someData.map(obj => ( getCountryFromDatabase(obj.ID).then((country) => { obj.country = country; }) )) );