在我的angular 7应用程序中,我需要链接多个HTTP Get调用,并且对于任何调用,如果我不需要在下一个调用中直接使用响应,则还需要等待该调用才能完成。 / p>
我不想在订阅中使用订阅,等等,因为代码很糟糕。
例如,如果我有4个函数,实现它的最佳实践是什么?
答案 0 :(得分:3)
尝试forkJoin
:
linkContractToDepartment(data): Observable<any> {
return this.httpClient.get<any>(
'/something/link-contract',
data
);
}
calls = [];
calls.push(this.linkContractToDepartment(1));
calls.push(this.linkContractToDepartment(2));
forkJoin(calls).subscribe(response_list=> { console.log(response_list) })
答案 1 :(得分:1)
就像其他人说的那样,Angular与RxJS完美地结合在一起。但是官方文档有点混乱。尝试使用angular AND RXJS查找真实示例。范例:https://blog.angularindepth.com/practical-rxjs-in-the-wild-requests-with-concatmap-vs-mergemap-vs-forkjoin-11e5b2efe293
Learn rxjs是RxJS的另一个不错的资源
要恢复: