Solución:
Debe agregar un finalize () a la tubería, algo como:
this.task.snapshotChanges().pipe(
finalize(() => {
this.downloadURL = this.ref.getDownloadURL(); // <-- Here the downloadURL is available.
})
).subscribe();
En el paso finalize (), la URL de descarga está disponible, por lo que puede tomarlo de la referencia de forma asincrónica.
–ACTUALIZAR
Dijiste que estás usando Angular 6, así que supongo que estás usando la última versión de firebase.
Cambian getDownloadURL () a Observable desde Task, por lo que para obtener la URL real solo tiene que suscribirse.
this.task.snapshotChanges().pipe(
finalize(() => {
this.ref.getDownloadURL().subscribe(url => {
console.log(url); // <-- do what ever you want with the url..
});
})
).subscribe();
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)