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


@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'}))
)
)
);

我有这个角度效应(ngrx(,在继续之前提出1个请求。如何提出两个请求并等待两个响应后再继续?我知道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(运算符。

相关内容

  • 没有找到相关文章

最新更新