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

256
Vistas
¿Cómo se hace una promesa con la función firebase .on()?

Estoy tratando de usar el método Firebase .on() para verificar cada vez que se crea una nueva cuenta en mi base de datos Firebase en tiempo real. Ahora que estoy cifrando estos datos en la base de datos de Firebase, me gustaría que la primera vez que se carguen los datos de Firebase se descifren usando una función que hice. ¿Es posible que pueda hacer algo como una promesa que me permita hacer esto una vez que Firebase haya cargado todos los datos en mi variable?

 var users2 = database.ref("users/").on("value", (snapshot) => { const usersLst = snapshot.val(); users = usersLst });

Me gustaría agregar algo como esto:

 var users2 = database.ref("users/").on("value", (snapshot) => { const usersLst = snapshot.val(); users = usersLst }).then(() => { console.log(decryptAccounts(users)) });

Una cosa importante que quiero mantener es la función .on() ya que me permitirá verificar constantemente si alguien ha creado una nueva cuenta en la base de datos. ¿Alguien tiene alguna idea de qué otro enfoque podría usar para lograr lo mismo?

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

0

Puede almacenar la referencia en una variable para reutilizarla como sugieren los documentos.

 const databaseRef = database.ref("users/"); // use databaseRef.get() with the correct path to your attribute you want to get // Runs only once databaseRef.get().then((snapshot) => { // Decrypt function }); // Listens to changes var users2 = databaseRef .on("value", (snapshot) => { const usersLst = snapshot.val(); users = usersLst });

Primero obtiene los valores una vez y luego puede descifrarlos, cuando los valores cambian, la función .on se activará nuevamente.

about 4 years ago · Juan Pablo Isaza Denunciar

0

La respuesta que encontré con la ayuda de Dharmaraj fue que puedes hacer esto:

 database.ref("users/").on("value", (snapshot) => { decryptAccounts(snapshot.val()); });

Esto obtendría los valores de la base de datos cada vez y los descifraría.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Simplemente puede agregar las funciones decryptAccounts() dentro on() para que cada vez que se reciba una actualización, pueda ejecutar esa función en esos datos.

 var users2 = database.ref("users/").on("value", (snapshot) => { const usersLst = snapshot.val(); // runs on new value fetched after every update decryptAccounts(usersLst) })
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