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

276
Vistas
la función en llamada devuelve un objeto vacío. Cómo hacer que espere el valor del mapa

Sé que esto tiene que ver con async pero no puedo resolverlo.

Esto devuelve un objeto vacío. El functions.logger.log(groupName) está registrando un valor, así que sé que hay datos allí.

 exports.getMinistryMembers = functions.https.onCall((req) => { // calls const getMinistry = admin.database().ref(`organization/${req.orgId}`); const getMinistryForUser = admin.database().ref(`organization/${req.orgId}/attendanceOptionsMinistries`) const ministryMembers = admin.database().ref(`organization/${req.orgId}/inMinistries`); const ministryGroup = admin.database().ref(`organization/${req.orgId}/ministryGroups`); return getMinistryForUser .child(req.uid) .once('value') .then(snapshot => { if (snapshot.val()) { const ministryUids = snapshot.val(); return Object.keys(ministryUids).map((ministryItem, i) => { // get name of group return ministryGroup .child(ministryItem) .once('value') .then(groupSnap => { const groupName = groupSnap.val(); functions.logger.log(groupName); return groupName; }) }); } }) });

Esperaría que el valor regrese ya que está en una llamada, pero no estoy seguro de lo que me estoy perdiendo. Como nota al margen, esto funciona, pero no el segundo entonces.

exportaciones.getMinistryMembers = functions.https.onCall((req) => { // llamadas const getMinistry = admin.database().ref( organization/${req.orgId} ); const getMinistryForUser = admin.database().ref ( organization/${req.orgId}/attendanceOptionsMinistries ) const ministerioMembers = admin.database().ref( organization/${req.orgId}/inMinistries ); const ministerioGroup = admin.database().ref( organization/${req.orgId}/ministryGroups );

 return getMinistryForUser .child(req.uid) .once('value') .then(snapshot => { if (snapshot.val()) { const ministryUids = snapshot.val(); return Object.keys(ministryUids).map((ministryItem, i) => { return ministryItem; }); } }) });
about 4 years ago · Juan Pablo Isaza
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