我仍在学习 RxJs,我正在尝试使用 concatMap() 来不使用嵌套订阅。我希望运行第一个调用,然后延迟一两秒(在第二个请求之前创建数据库记录),然后再运行第二个请求。我还想专门为每个请求添加错误处理,以便我可以单独为它们捕获错误。
到目前为止,我有一些运行请求 1、延迟,然后运行请求 2 的东西。
return this.request_1(postData).pipe(
concatMap(res => of(res).pipe( delay( 2000 ) )),
concatMap(res => this.request_2(parseInt(data.id), parseInt(model['_id'])) )
);
我想知道的是——
- 我可以在每个请求上使用诸如 catchError() 之类的东西吗?
- 如果我希望请求 1 在第二个请求运行之前完成,这是正确的吗?
谢谢!