如何在observable内部进行订阅并返回observable

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所以为什么我得到这个错误?提前致谢

Buc*_*ski 5

你可以这样做:

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操作是你应该修改你的反应其实之前订阅它的地方.