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

164
Views
tratando de devolver una variable con valores del banco y devuelve indefinido

Estoy usando la base de datos en tiempo real de firebase. Estoy tratando de obtener los datos de la base de datos y devolverlos.

Necesito regresar porque estoy llamando a una función que debería hacer esto, obtener los datos de la base de datos y regresar. Pero en la función a la que llamo esta función 'getData()', el valor viene como 'indefinido'.

¿Tengo que usar funciones asíncronas? O tener otro método. alguien me explica por favor

 import { construct_bd } from "../../database.js"; function blog_posts() { let section = document.getElementById("blog_posts_container"); function show() { let data = construct_bd.getData("/posts"); console.log(data) } setTimeout(() => { show() }, 200); ... }

base de datos.js

 ... // Variables let database = firebase.database(); ... getData(reference){ let data; database.ref(reference).once("value") .then(snapshot => data = snapshot.val()) .catch(error => console.log(error)) .finally(() => {return data}) }, ...
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Si la función getData devuelve una promesa, entonces use await en su función de llamada. Por ejemplo

 async function show() { let data = await construct_bd.getData("/posts"); console.log(data) }

Si getData no es una promesa, puede cambiarlo en consecuencia.

 getData(reference){ return new Promise((resolve,reject) => { database.ref(reference).once("value"). then(snapshot => data = snapshot.val(); resolve(data); ).catch( error => reject(error) ).finally(() => reject(data); ) }); }
about 4 years ago · Juan Pablo Isaza 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!