Как загружать файлы последовательно в Angular? - PullRequest
0 голосов
/ 30 апреля 2018

В настоящее время у меня есть решение, которое загружает несколько файлов в хранилище BLOB-объектов Azure, но индикатор выполнения не сбрасывается после каждого файла (остается равным 100).

Я знаю, что вы можете использовать Обещание, но я новичок в Angular и не знаю, как лучше к нему подойти?

Это мой текущий код (который работает), он хранит файлы в массиве

uploadFiles () {

while (this.targetFiles.length > 0)
{
    this.targetFile = this.targetFiles.pop();
    this.uploadProgress = this.blob
    .uploadToBlobStorage(accessToken, this.targetFile);


    this.currentPageSub = 
    this.uploadProgress.subscribe((total: number) => {
      this.progress=total;
          });

} 

}

Но я хочу загружать файлы по одному, сбрасывая индикатор выполнения (this.progress) в функции подписки после загрузки файла

Есть предложения?

1 Ответ

0 голосов
/ 30 апреля 2018

Вы должны сбрасывать прогресс в каждом цикле.

 while (this.targetFiles.length > 0)
{
    this.progress=0;
    this.targetFile = this.targetFiles.pop();
    this.uploadProgress = this.blob
    .uploadToBlobStorage(accessToken, this.targetFile);


    this.currentPageSub = 
    this.uploadProgress.subscribe((total: number) => {
      this.progress=total;
          });

 } 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...