this.route.params.pipe(
concatMap((param) => {
const ein = param['nonprofit-id'];
return this.nonprofitService.getNonprofit(ein).pipe(
concatMap((nonprofit) => {
this.nonprofit = nonprofit;
const ratingID = nonprofit.currentRating?.ratingID ? nonprofit.currentRating.ratingID : -1;
return this.nonprofitService.getRatingForNonprofit(ein, ratingID).pipe(
concatMap((nonprofitRating) => {
this.nonprofitRating = nonprofitRating;
const causeID = this.nonprofit?.cause?.causeID ? this.nonprofit?.cause?.causeID : 0;
return this.nonprofitService.getSimilarNonprofits(causeID);
})
);
})
);
})
).subscribe((response) => {
this.similarNonprofits = response;
});
上記が Angular RxJS で concatMaps をチェーンする正しい方法であるかどうかを知りたいです。他の 2 つの呼び出しは、問題の「非営利団体」が取得されることに依存しているため、そのオブジェクトを返すことができます。評価と類似の非営利団体は同時に取得できるため、これらの concatMap を相互にネストせずにこれを行う方法があると考えていました。