根据我的要求,我需要使用Angular 6 Httpclient发送异步请求。
谁能解释一下如何发送异步请求?
在组件中循环调用:
REST API服务中的功能:
现在,所有请求一起完成。但是我希望在完成第一个请求后第二个请求应该继续执行。
请让我知道Angular 6中有可能吗?
请尝试为我提供一些很好的例子。
this.pressArray.forEach(function(field_value, field_index){
restAPI.CallAddPageBlock(formData, '', id).subscribe(response2 => {
content_blocks.push(response2.id);
});
});
CallAddPageBlock(formData, tickets='', id): Observable<any> {
var full_url = this.baseUrlContent + 'Hub_PageBlock_C/assets/';
if(id!=0){
full_url = full_url+id
}
return this.http.post(full_url, formData, this.httpOptionsJson).pipe();
}
答案 0 :(得分:0)
您可以将async / await与Promise
配合使用来简化此行。使用toPromise()
async doSomethingAsync() {
for(var item of this.pressArray) {
let response2 = await restAPI.CallAddPageBlock(formData, '', id).toPromise();
content_blocks.push(response2.id);
}
}
无需在末尾的pipe
中呼叫CallAddPageBlock
。
有关异步/等待的更多信息,请参见此出色的答案,然后滚动至标题ES2017+: Promises with async/await。