Я пытаюсь сохранить массив файлов на сервере весенней загрузки. Один файл сохраняется одновременно. я перебираю массив файлов с циклом for и делаю запрос для каждого файла, который будет сохранен. Здесь я хочу, чтобы следующий вызов был сделан только после получения ответа на первый файл. Я попробовал приведенный ниже код, но не смог его достичь.
Component.ts
public uploadNewsFiles() {
for (let index = 0; index < this.files.length; index++) {
debugger;
var body = new FormData();
// alert(this.files[index].name);
body.append('file', this.files[index]);
this.uploading.push(true);
this.uload(body,this.newsId,this.getFileDescriptionFormGroup(index)
.controls['des'].value,index).then((status:any)=>
{
if (status.status === 'success') {
// alert('success');
body.delete('file');
this.uploading[index] = false;
this.uploadingStatus.push(true);
} else {
body.delete('file');
this.uploading[index] = false;
this.uploadingStatus.push(false);
}
},(err)=>alert('failed'))
}
// body.append('newsId',this.newsId);
}
async uload(body,newsId,desc,index) {
return await this.service.saveFiles(body, newsId,desc).toPromise();
}
service.ts
public saveFiles(body,newsId,des) {
return this.http.post(this.url + '/saveFiles?
newsId='+newsId+'&fileDescription='+des,body);
}