我想实现这样的目标
MyComponent.ts
getData() {
servicemethod.subscribe(data => this.result=data)
// use this.result for further operations.
}
这是我的服务组件。
MyService.service.ts
serviceMethod(args) {
let result; // best suitable data structure to store the response may be an array or map
result1 = _http.get(url1).map((res:response) => res.json);
result2 = _http.get(url2).map((res:response) => res.json);
add result1 and result2 in result and return it in such a way that it easily retrievable at calling end.
}
我希望在单个订阅中同时获得两个请求的结果,这可能吗?我正在使用angular 4.0.0,并且http请求是java中的rest api调用。
使用 forkJoin
serviceMethod(): Observable<any> {
result1 = _http.get(url1).map((res:response) => res.json);
result2 = _http.get(url2).map((res:response) => res.json);
return Observable.forkJoin([result1 , result2 ])
.map(responses => {
// responses[0] => result1
// responses[1] => result2
});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句