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

68
Vistas
Obtener datos de una promesa como resultado de una llamada a la base de datos de firestore

Estoy tratando de obtener datos de mi base de datos de firestore y luego uso la matriz de objetos devuelta en mi plantilla. Lo que esperaba que fuera una matriz de objetos es, de hecho, una promesa. y parece que no puedo averiguar cómo extraer sus datos.

Aquí está la función que hace dos llamadas a mi base de datos de firestore, luego combina ambos resultados en una matriz. La función devuelve esta matriz.

 async getOtherArticles (src, target){ try { var tempArticles = [] const q = query(collection(projectFirestore, "database") ,where('target', '==', target) ,where('src','==',src)); const docs = await getDocs(q); if(docs){ docs.forEach((doc) => { tempArticles.push(doc.data()) }) } const q2 = query(collection(projectFirestore, "database") ,where('target', '==', src) ,where('src','==',target)); const docs2 = await getDocs(q2); if(docs2){ docs2.forEach((doc2) => { tempArticles.push(doc2.data()) }) } return tempArticles } catch (err) { throw new Error(err.message) } }

Luego simplemente llamo a la función anterior para obtener el resultado como en el ejemplo a continuación.

 this.similarArticles = this.getOtherArticles(this.drawerLinkData.src,this.drawerLinkData.target).then( function(val){return val})

Cuando consola.log el resultado, obtengo:

 Promise {<pending>} [[Prototype]]: Promise [[PromiseState]]: "fulfilled" [[PromiseResult]]: Array(1) 0: {region: Array(1), technology: Array(1), target: 'Yandex', video: '', summary: '<p>Yandex announced that it has entered into a bin…rship in the business.</strong></p>\n<p>&nbsp;</p>', …} length: 1 [[Prototype]]: Array(0)

Deseo obtener solo lo que está en [[PromiseResult]]. ¿Cómo puedo conseguir esto?

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

0

Como sugirió @Keith, agregar await funcionó. Código corregido a continuación:

 this.similarArticles = await this.getOtherArticles(this.drawerLinkData.src,this.drawerLinkData.target)
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