angular2多个http调用promises observables

时间:2017-10-30 08:58:57

标签: angular http

let observable1 = http.get('api1').subscribe(r1 => {//display r1});
let observable2 = http.get('api2').subscribe(r1 => {//display r1});

如果两个API都已响应,如何隐藏加载掩码?

面临问题 -

如果我试着写

Observable.forkJoin([observable1, observable2]).subscribe(res => {
//hide loading msk
})

forkJoin再次调用这两个服务。

另外,使用forkJoin,在两个服务响应之前,我无法显示服务的数据,只要它们可用,就会尽快响应。

1 个答案:

答案 0 :(得分:0)

试试这样:

Observable.forkJoin(
    apiCall1(params),
    apiCall2(params),
    apiCall3(params)
).subscribe((responses) => {
    console.log('response for apiCall1 :', responses[0])
    console.log('response for apiCall2 :', responses[1])
    console.log('response for apiCall3 :', responses[2])
})