J'ai un service de téléchargement de fichier dans l'angle 2 qui renvoie un observable pour la méthode fileUpload. Supposons que j'ai plus d'un téléchargement de fichier. Je veux être en mesure d'afficher le statut de chaque fichier téléchargé ou non, et aussi d'effectuer d'autres actions quand toutes les finitions sont terminées.Observer un tableau d'observables RxJS un par un et être averti quand tous sont terminés
Donc, c'est quelque chose comme ça.
uploadAll(files): void {
let fileUploadObservables = [];
files.forEach(file => {
fileUploadObservables
.push(this.fileUploadService.upload(file));
});
Observable.forkJoin(...fileUploadObservables)
.subscribe((res) => {
//Do something else when all files finish uploading
});
}
forkJoin ne me avertit lorsque tous a fini de charger, mais je dois être informé de chacun d'eux termine, et quand tous fini. Je ne peux en faire qu'un avec les observables.