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

213
Vistas
¿Cómo obtengo detalles de usuario en Firebase Storage?

Soy un nuevo programador y muy nuevo en firebase y estoy tratando de mostrar la información de los archivos de usuario actuales en la pantalla, parece que mi problema es que puedo obtener la URL y los metadatos por separado, ¿cómo los combino? ¿a ellos? ¿Cómo puedo tomar todo a la vez? Necesito mostrar el nombre del archivo, fecha, hora, enlace para descargar.

 const getUserFiles = async () => { if (!userUID) { return null; } let listRef = storageRef.child(userUID); listRef.listAll().then(res => { // res.prefixes.forEach((item) => { // }); res.items.forEach(item => { item.getMetadata().then(item => { var file = { name: item.name.toString(), timeCreated: item.timeCreated.toString(), link: '', }; myFiles.push(file); }); }); res.items.forEach(item => { let counter = 0; item.getDownloadURL().then(url => { myFiles[counter].link = url.toString(); }); }); }); console.log(myFiles); };

el método actual no funciona! y observe que el userUID es solo el uid sin el usuario (estado local)

¡Gracias!

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

0

El problema es con las llamadas asincrónicas. Está realizando una llamada asíncrona en forEach y forEach espera una función síncrona .

Puede cambiar la lógica para usar for-of en su lugar.

Vea abajo:

 const getUserFiles = async () => { if (!userUID) { return null; } let listRef = storageRef.child(userUID); const res = await listRef.listAll(); for (const itemRef of res.items) { const itemMetadata = await itemRef.getMetadata(); const url = await itemRef.getDownloadUrl(); var file = { name: itemMetadata.name.toString(), timeCreated: itemMetadata.timeCreated.toString(), link: url, }; myFiles.push(file); } console.log(myFiles); }
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