private getScmServiceMeta(serviceId: string): Observable<any> {
let service = this.getServiceItem(serviceId);
if (service) {
return this.httpClient.get(serviceUri).map((res: Response) => {
return _.get(res, 'data.serviceinfo');
})
} else {
return Observable.throw('backend server error');
}
}
public inquireScmData(serviceId: string, params: object, templateId: string): Observable<any> {
return this.getScmServiceMeta(serviceId).map((serviceInfo: any) => {
let uri = serviceInfo.routeTemplate;
// How to return the _.get(res, 'data') as an Observable ???
return this.httpClient.get(uri).map((res: Response) => {
if (_.startsWith(_.get(res, 'status.code'), '200')) {
return _.get(res, 'data');
} else {
throw ('status code error');
}
})
})
}
que le code ci-dessus, je dois retourner un observable quand appeler la fonction « inquireScmData », mais à l'intérieur de la fonction, il faut appeler une autre fonction « getScmServiceMeta » qui est également asynchrone et retour aussi un Observable, alors comment retourner le '_.get (res,' data ')' comme Observable ??? mercihttpclient angulaire retourner un Observable
retour Observable.of (_. Get (res, 'données')) –