在Angular中,我如何将我的发布请求的响应作为参数之一传递给另一个发布请求?

问题描述 投票:0回答:1

我有一个包含两个部分的表单,该表单分派两个后请求操作,第二个请求需要第一个请求的参数才能成功发送。但是我不确定:(我的第一个动作的请求和响应是否正常,但是我不确定如何或在何处实现该逻辑-它应该在服务中吗?一个reducer?我尝试了forkjoin然后意识到我不知道自己在做什么,在此先感谢您的帮助!

我的组件:


    const newArtist = this.store.dispatch(new CreateArtist({
      ...generalDetails,
      hometown,
    }))

    const newArtistExtraInfo = this.store.dispatch(new CreateDiscography({
      ...songCatalogue
    }
    ));

    forkJoin([newArtist, newArtistExtraInfo]).subscribe(result => {
      console.log(`the results are in : ${result}`)
    }) 
angular redux action ngrx ngxs
1个回答
0
投票

在这种情况下,您可以使用RxJS switchMap运算符传递另一个请求。尝试以下操作

firstRequest().pipe(
  switchMap(responseFirst => secondRequest(responseFirst)),
  catchError(errorFirst => of(errorFirst))
).subscribe(
  responseSecond => { },
  errorSecond => { }
);
© www.soinside.com 2019 - 2024. All rights reserved.