Выполнение двух HTTP-запросов последовательно в угловых, rxjs - PullRequest
1 голос
/ 25 октября 2019

В настоящее время у меня есть следующий запрос:

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

Второй запрос использует результат, полученный в первом, это то, что мне нужно, но проблема в том, что теперь он возвращает то, что приходитиз второго запроса (внутреннего). Можно ли каким-то образом с помощью операторов rxjs заставить его возвращать наблюдаемые, содержащие поля из внутреннего запроса, а также из внешнего запроса?

В приложении используется 5-я версия rxjs.

Ответы [ 2 ]

1 голос
/ 25 октября 2019

Конечно. Примерно так:

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

(результирующий поток будет содержать массив из 2 элементов).

0 голосов
/ 25 октября 2019
...