Wav*_*ter 2 observable typescript angular angular6
我需要依次向服务器发送多个 HTTP PUT 请求(在完成前一个请求后才开始下一个请求,请求的数量不固定)。如果我使用以下源代码,将发送所有请求
`listURL.forEach(url => {
const req = new HttpRequest('PUT', url, formData, { reportProgress: true});
httpClient.request(req).subscribe(event=>{});
});`
Run Code Online (Sandbox Code Playgroud)
反正有顺序执行请求吗?
您可以使用 async/awaitPromise来简化此操作。使用将可观察对象转换为承诺toPromise()
async doSomethingAsync() {
for(let url of listURL) {
const req = new HttpRequest('PUT', url, formData, { reportProgress: true});
const result = await httpClient.request<ModelHere>(req).toPromise();
// do something with result
}
}
Run Code Online (Sandbox Code Playgroud)
有关 async/await 的更多信息,另请参阅此优秀答案并滚动到标题ES2017+: Promises with async/await。
| 归档时间: |
|
| 查看次数: |
855 次 |
| 最近记录: |