Вы не возвращали наблюдаемое из вашей flatMap, верните this.service.service2 (res1);будет делать то же, что и ниже.
this.service.service1().pipe(
map(res1 => //modify resp1 here)
flatMap((modifiedRes1) => this.service.service2(modifiedRes1)) // note the lack of brackets, this means we are returning the observable, your function returns void.
).subscribe((res2) => {
// Do something with res2.
});
Разница между
(res1) => this.service.service2(res1)
и
(res1) => {
this.service.service2(res1)
}
В том, что первая функция возвращает наблюдаемую, втораявозвращает void.
(res1) => this.service.service2(res1)
и
(res1) => {
return this.service.service2(res1)
}
эквивалентны.{} создает блок, которому требуется оператор возврата, если он используется в функции стрелки.