Tengo un _each() que dentro tiene una espera donde verifico el estado de un usuario en MySQL
el regreso de la respuesta de mysql después de que el ciclo ya se haya completado. hay una forma de esperar el método checkUserState(), antes de ir al siguiente elemento de _each()?
let obj = _.each(guest_list.guests, async function (value){ let user_state = await DataController.checkUserState('2305'); value.Owner.state = user_state; console.log('state:' + user_state); return value; }); console.log('cycle complete') return obj;El resultado es: ciclo completo state:notdisturb state:notdisturb state:notdisturb state:notdisturb state:notdisturb state:notdisturb state:notdisturb state:notdisturb state:notdisturb state:notdisturb state:notdisturb state:notdisturb
Necesitas usar Promise.all
let obj = await Promise.all([_.map(guest_list.guests, async function (value){
let user_state = await DataController.checkUserState('2305');
value.Owner.state = user_state;
return value;
})]);