RxJs 6 - 进行 2 个 http 调用并等待所有响应

RxJs 6 - Make 2 http calls and wait for all responses

@Effect()    
initDomain$: Observable<Action> = this.actions$.pipe(
  ofType('INIT_DOMAIN'),
  mergeMap((action: any) =>
     this.http.get('https://demo.api/url1.php').pipe(
        switchMap((data) => [
           {type: 'INIT_IT', payload: data}
        ]),
        catchError(() => of({type: 'INIT_IT_FAILED'}))
     )
  )
);

我有这个 angular 效果 (ngrx),它在继续之前发出 1 个请求。我如何发出 2 个请求并在继续之前等待两个响应?我知道 forkJoin() 是答案,但我对语法有点困惑

forkJoin(
 this.http.get('myUrl'),
 this.http.get('myOtherUrl')
)

或者如果你在一个数组中有一堆观察值,你也可以写

const myArrayOfObservables = [
  this.http.get('myUrl'),
  this.http.get('myOtherUrl')
];

forkJoin(
  myArrayOfObservables
)

这是因为 "forkJoin" 对其参数使用 "spread" (...args) 运算符。