我有一个包含两个部分的表单,该表单分派两个后请求操作,第二个请求需要第一个请求的参数才能成功发送。但是我不确定:(我的第一个动作的请求和响应是否正常,但是我不确定如何或在何处实现该逻辑-它应该在服务中吗?一个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}`)
})
在这种情况下,您可以使用RxJS switchMap
运算符传递另一个请求。尝试以下操作
firstRequest().pipe(
switchMap(responseFirst => secondRequest(responseFirst)),
catchError(errorFirst => of(errorFirst))
).subscribe(
responseSecond => { },
errorSecond => { }
);