kom*_*min 3 rxjs angular angular-httpclient
我需要从 Angular 5 中的服务类进行两个相关的 HTTP 调用并返回一个 Observable,以便我的组件可以订阅它。所以在服务类函数内部:
stringstring将被 HTTP 调用 2 用作输入string[]Observable<string[]>不工作的代码(错误:函数必须返回一个值):
getData(): Observable<string[]> {
this.httpClient.get<string>('service1/getData').subscribe(
dataFromSvc1 => {
return this.httpClient.get<string[]>('service2/getData/' + dataFromSvc1);
},
err => {
return throwError(err);
}
)
}
Run Code Online (Sandbox Code Playgroud)
试试switchMap,像这样(未测试或语法检查!):
getData(): Observable<string[]> {
return this.httpClient.get<string>('service1/getData')
.pipe(
switchMap(dataFromSvc1 => {
return this.httpClient.get<string[]>('service2/getData/' + dataFromSvc1);
}),
catchError(this.someErrorHandler)
);
}
Run Code Online (Sandbox Code Playgroud)
然后订阅进入调用此方法的组件。
让我知道这个是否奏效。
| 归档时间: |
|
| 查看次数: |
2684 次 |
| 最近记录: |