簡體   English   中英

等待發布請求完成

[英]Waiting for post requests to finish

我正在嘗試在 Angular 中實現文件上傳。 為了避免文件大小限制,我實現了一個接收文件塊的 API 端點。 在接收到所有塊后,應調用另一個端點來重新組裝服務器上的塊。 因此,我需要在所有發布請求完成后。 最好不使用 Promise。 問題是,我是 Angular(甚至 JS)的新手,所以我想知道這是如何工作的。

let i = 0;
for( let offset = 0; offset < file.size; offset += chunkSize ){
    let chunk = file.slice( offset, offset + chunkSize );

    let formData = new FormData();
      formData.append("fileUpload", chunk, file.name + ".part" + i);
      formData.append("identifier", identifier.toString());

    this.http.post(this.baseUrl + "Upload", formData).subscribe();
}

您將這些放入一個數組並使用forkJoin然后訂閱它。

這將一次調用所有 http 請求,並在所有請求完成后調用 subscribe 函數。

let i = 0;
const obsArray = [];
for( let offset = 0; offset < file.size; offset += chunkSize ){
    let chunk = file.slice( offset, offset + chunkSize );

    let formData = new FormData();
      formData.append("fileUpload", chunk, file.name + ".part" + i);
      formData.append("identifier", identifier.toString());
    obsArray.push(
      this.http.post(this.baseUrl + "Upload", formData)
    ).
}
forkJoin(obsArray).subscribe();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM