带有多种返回类型的分叉联接

时间:2018-12-18 17:49:22

标签: rxjs

Observable.forkJoin(
  request1(),
  request2(),
  request3().subscribe(result =>{
    //do something
  })
);

在上面的代码中:

  • request1返回Observable<{ [key: string]: string; }>
  • request2返回Observable<{ [key: string]: { [key: string]: string; }; }>

错误消息是:

  

'Observable <{类型的参数:[key:string]:string; }>'不是   可分配给类型为'ObservableInput <{[key:string]:   [key:string]:字符串; }; }>'。

有人可以帮我解决问题吗?

2 个答案:

答案 0 :(得分:2)

您要将Subscription作为第三个参数传递给forkJoin。可能您想编写以下内容:

Observable.forkJoin(request1(), request2(), request3()).subscribe(result =>{
    //do something
});

答案 1 :(得分:0)

尝试这种方式

首先导入 forkjoin

import {forkJoin} from 'rxjs';

return forkJoin( this.http.get('path/api'), this.http.get('path/api2')); 

它将以数组形式返回数据。