Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

237
Vistas
¿Por qué mi variable no se ha configurado después de una promesa de espera?
const loadData = async () => { try { const data = await GetAllForms(); setAllForms([...data]); } catch (err) { console.log(err); } }

Mis datos variables reciben los datos de GetAllForms (esa es una función de promesa), pero cuando intento asignar a otra variable está vacío, en este registro de la consola, por ejemplo, muestra una matriz vacía. Pero si solo tengo un archivo console.log console.log(data) los datos aparecen correctamente, el problema es solo con el dataAux . No tengo ni idea de lo que está pasando aquí. ¡Gracias!

Aquí el GetAllForms

 export async function GetAllForms() { const formRef = await dbForms.collection("forms"); const snapshot = await formRef.get(); const dataFormattedArray = [] as IFormsFormatted[]; snapshot.forEach(async doc => { const docData = doc.data() as IForms const aux = [] as FormsData[]; for (const id of docData.formsFieldId) { const test = await GetOneFormsField(id); aux.push(test); } const dataFormatted = { ...docData, formsFieldId: [...aux] } dataFormattedArray.push(dataFormatted); }) return dataFormattedArray; }

Si compruebo la variable allForms después de setAllForms , está vacía.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Resolví el problema... Era el forEach de hecho, solo reescribí la obtención de datos, reemplazando el forEach con un for ... of :

 await Promise.all(snapshot.docs.map(async doc => { //Fetching in Paralel the data const docData = doc.data() as IForms const aux = [] as FormsData[]; for (const id of docData.formsFieldId) { const test = await GetOneFormsField(id); aux.push(test); } const dataFormatted = { ...docData, formsFieldId: [...aux] } dataFormattedArray.push(dataFormatted); }))

gracias a todos los que respondieron a esto! ¡Salud!

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda