【问题标题】:Making two http requests sequentially in angular, rxjs以角度,rxjs顺序发出两个http请求
【发布时间】:2019-10-25 07:12:56
【问题描述】:

目前我有以下要求:

      return this.registrationService.registratePerson(data).pipe(
        switchMap(
          res => {
            return this.registrationService.sendPassportScan(this.form.value.passportScanCopyFile, res.AisUserIsn);
          }
        )
      );

第二个请求使用第一个请求中获得的结果,这是我需要的,但问题是现在它返回来自第二个请求(内部请求)的内容。是否有可能在 rxjs 操作符的帮助下让它返回一个包含来自内部请求以及来自外部请求的字段的 observable?

在应用程序中使用了 rxjs 的第 5 版。

【问题讨论】:

    标签: angular rxjs5


    【解决方案1】:

    当然。像这样的:

    return this.registrationService.registratePerson(data).pipe(
        switchMap(
            res => forkJoin(
                of(res), 
                this.registrationService.sendPassportScan(/* relevant args */),
            )))
    

    (生成的流将包含一个 2 元素数组)。

    【讨论】:

    • 是的,这正是我想要的!如果,比如说,我想展平那个数组,我可以在map 中执行此操作,我必须在 switchMap 之后立即添加,对吧?
    • 是的,map 会这样做。
    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 2021-03-22
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 2022-01-25
    相关资源
    最近更新 更多