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

270
Vistas
¿Cómo puedo cargar varias imágenes en Firebase para reaccionar con un método diferente?

Quiero console.log() en console.log(list) los uploadBytes de mi imagen, para poder implementarlo y pasarlo a mi backend sin separarlo.

el codigo es algo asi

 const handleSubmitForm = e => { e.preventDefault() alert("Your Images Is Uploaded") const imagesRef = ref(storage,`GALLERY/${image.name}${v4()}`) const imagesRef2 = ref(storage,`GALLERY/${image2.name}${v4()}`) const imagesRef3 = ref(storage,`GALLERY/${image3.name}${v4()}`) const imagesRef4 = ref(storage,`GALLERY/${image4.name}${v4()}`) const imagesRef5 = ref(storage,`GALLERY/${image5.name}${v4()}`) const id = v4() const Uploads = async() => { const list = [] uploadBytes(imagesRef,image) .then((snapshot) => { getDownloadURL(snapshot.ref).then((url) => { console.log('Image uploaded' + `${url}`) const item = url list.push(item) }) }) uploadBytes(imagesRef2,image2) .then((snapshot) => { getDownloadURL(snapshot.ref).then((url) => { console.log('Image uploaded' + `${url}`) const item = url list.push(item) }) }) uploadBytes(imagesRef3,image3) .then((snapshot) => { getDownloadURL(snapshot.ref).then((url) => { console.log('Image uploaded' + `${url}`) const item = url list.push(item) }) }) uploadBytes(imagesRef4,image4) .then((snapshot) => { getDownloadURL(snapshot.ref).then((url) => { console.log('Image uploaded' + `${url}`) const item = url list.push(item) }) }) uploadBytes(imagesRef5,image5) .then((snapshot) => { getDownloadURL(snapshot.ref).then((url) => { console.log('Image uploaded' + `${url}`) const item = url list.push(item) }) }) console.log(list) } Uploads() }

Mi único problema aquí es const list = [] , donde quiero agregar cada uploadBytes en mi lista, para no tener que llamar repetidamente al backend, porque voy a poner un backend allí en cada uploadBytes , pero quiero hacerlo más fácil como simplemente empujarlo en la lista.

Traté de hacerlo en asíncrono pero no funciona. ¿Simplemente me da una matriz vacía porque no lo sé? Solo estoy pensando que necesito hacer que uploadBytes sea asíncrono, pero aún no funciona.

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

0

Si entiendo su pregunta correctamente, desea registrar la lista de URL de descarga después de que se hayan cargado todas las imágenes.

Esto requiere que maneje dos operaciones asincrónicas para cada carga:

  • la carga de los datos en sí,
  • la llamada para obtener la URL de descarga.

Dado que debe hacer esto para cada imagen, necesitará Promise.all y, dado que son dos llamadas, necesitará then operación encadenada.

La combinación de esto conduce a:

 // Helper function to upload an image and get back its download URL const UploadSingleImage = (ref, image) => { return uploadBytes(ref, image).then((snapshot) => { return getDownloadURL(ref); }) } const Uploads = async () => { const list = await Promise.all([ UploadSingleImage(imagesRef, image), UploadSingleImage(imagesRef2, image2), UploadSingleImage(imagesRef3, image3), UploadSingleImage(imagesRef4, image4), UploadSingleImage(imagesRef5, image5) ]); console.log(list) }
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