【发布时间】:2019-10-17 12:33:55
【问题描述】:
我正在尝试从角度为 7 的 observable 中获取值。我在服务中有一些看起来像这样的函数
getSomething(): Observable<MyObject[]> {
let result = new Subject<MyObject[]>();
this.callApi('hello-world').subscribe(data => {
console.log('hello-world data: ', data);
result.next(this._mapToMyObjectArray(data));
});
return result.asObservable();
}
_mapToMyObjectArray(data: any): MyObject[] {
...
}
我能够毫无问题地记录 hello-world 数据(调用 api 并按预期响应)。
但是,当我尝试从另一个组件订阅这个时,例如
doStuff(): void {
console.log('do stuff with something');
this.myService.getSomething().subscribe(
(result) => console.log('result', result),
(error) => console.log('error', error),
() => console.log('done')
);
}
当我调用 doStuff() 时,我看到了第一个日志 (do stuff with something),但没有看到其他日志(成功/错误/完成)。
谁能提供一些见解?感谢您的帮助,我确定这是微不足道的事情。
【问题讨论】:
标签: observable angular7