Mas*_*our 1 observable angular
我想获得一个observable的结果并进行一些更改,然后再次返回带有observable类型的结果,以便订阅组件.这是我的代码:
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';
import 'rxjs/add/observable/of';
import {Observable} from 'rxjs/Observable';
get_items() {
this.http.get(this.router_url).map(res => res.json()).catch(this.handleRequestError).subscribe(
(result) => {
result = result.data[0].my_item
return Observable.of( data: [{my_items: result}]});
},
(error) => {}
)
}
Run Code Online (Sandbox Code Playgroud)
问题出在使用和尝试.subscribe get_items()的结果的组件中,它们得到以下错误:Uncaught(在promise中):TypeError:
this.generalService.get_items(...).subscribe不是一个函数
但是当我回来时:
return Observable.of( data: [{my_items: result}]});
Run Code Online (Sandbox Code Playgroud)
它工作正常,但它不是我想要的任何方式,结果类型是Observable所以为什么我得到这个错误?提前致谢
你可以这样做:
get_items() {
this.http.get(this.router_url).map(res => {
const result = res.json();
return {data: [{my_items: result.data[0].my_item}]};
});
}
Run Code Online (Sandbox Code Playgroud)
该map操作是你应该修改你的反应其实之前订阅它的地方.
| 归档时间: |
|
| 查看次数: |
2526 次 |
| 最近记录: |