如何在 flatMap 之后获得结果并抛出一个带有结果的新观察者?

How to get result after flatMap and throw a new Observer with result?

我有以下观察者方法:

public __init__(httpResponse: HttpResponse<any>): Observable<any> {
    return this.initializeCredentials(httpResponse.headers, httpResponse.body['result']).flatMap((res) => {
      return this.initializePeriod(res);
    });

其中 initializeCredentials() returns 观察者:

private initializeCredentials(headers: HttpHeaders, body: any): Observable <any> {
   return Observable.of({'a' :1});
}

initializePeriod() returns观察者:

private initializePeriod(profile: any): Observable<Period> {
   return return Observable.of({'b' :2});
 }

如何在第二个 Observer 之后获得结果:return this.initializePeriod(res); 并将结果抛出到方法 __init__() 之后?

注意: 将结果从第一个 Observer 传递给第二个 this.initializePeriod().

很重要

结果我需要在 __init__() 上进行 subrube 并从 Observerbes 获得两个结果:

this.__init__().subscribe((result) => {
      console.log(result);
});

如果您使用的是 rxjs5,则 flatMap 有一个结果选择器函数

public __init__(httpResponse: HttpResponse<any>): Observable<any> {
    return this.initializeCredentials(httpResponse.headers, httpResponse.body['result']).flatMap((res) => {
      return this.initializePeriod(res);
    },
(firstRes,secondRes)=>{
return {firstRes,secondRes}
}
);