Я хочу загрузить несколько изображений на AWS S3.
Сначала загружаю изображения и показываю пользователю предварительный просмотр изображений, затем внутри для l oop Я каждый раз запускаю функцию uploadFilesSimulator для загрузки каждого изображения.
prepareFilesList(files: Array<any>) {
for (const item of files) {
item.progress = 0;
this.files.push(item);
const reader = new FileReader();
reader.onload = (filedata) => {
item.url = reader.result + '';
}
reader.readAsDataURL(item);
this.uploadFilesSimulator(item);
}
}
Сначала я получаю запрос на мой node js API. В результате ключ и URL. Затем, после получения URL-адреса, я запускаю запрос put, чтобы добавить изображение к этому URL-адресу.
uploadFilesSimulator(file: any) {
this.formService.getUploadUrl().subscribe(data => {
let upload = this.formService.uploadImage(data.url, file).subscribe(data => {
console.log(data)
}, err => console.log(err));
});
Это работает, но я хочу избежать вложенных подписок. Какой оператор RX js я должен использовать?