Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

71
Views
cómo manejar una promesa en la consulta de firebase cuando hay una declaración if

Trato de recorrer todos mis documentos y verifico si hay una coincidencia entre una identificación de objeto y mi identificación, luego inserto los datos en una matriz, mi problema es que no puedo recuperar ningún dato, mi matriz siempre está vacía aquí está mi código :

 let d = [] let b; const all = await db.collection('cars') .get() .then(documentSnapshot => { if (!documentSnapshot.empty) { documentSnapshot.map(async (doc) => { idd = await doc.data().user.id; if(idd == 'myid'){ b = doc.data(); d.push(b) } }); } } ); return Promise.all(all).then(() => setActiveSpinner(false), setThereIsData(true)).catch(e => console.log(e))
about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

Tiene diferentes problemas dentro de su implementación.

En primer lugar, está mezclando ambos objetos simples de Promise con controladores de devolución de llamada junto con el uso imperativo async/await que generalmente conduce a un comportamiento no deseado del programa.

Está recopilando incorrectamente los diferentes document coincidentes utilizando el operador Array.prototype.map sin devolver un resultado para cada elemento ni para el resultado transformado.

Aquí abajo una implementación recortada usando el patrón async/await :

 const result = []; const querySnapshots = await db.collection('cars').get(); for (const document of querySnapshots.docs) { const data = document.data(); if (data.user.id === 'myid') { result.push(b); } } setActiveSpinner(false); setThereIsData(true); return result;
about 4 years ago · Santiago Gelvez Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!