【发布时间】:2018-04-14 12:11:53
【问题描述】:
我正在使用 Angular 4.2.4 / RxJS 5.4.2,我正在尝试使用服务方法来检索一些数据并将该数据分配给我的组件中的属性:
组件:
ngOnInit() {
this.componentProperty = this.myService.serviceMethod(someParameter);
}
服务:
serviceMethod(someParameter: someType) {
let returnValue: anotherType;
// getting the Observable involves using "someParameter"
// (the code was simplified for the sake of clarity)
someObservable.subscribe(
data => { returnValue = data; }
);
return returnValue;
}
问题是subscribe()里面的函数是异步执行的,所以方法总是返回undefined。
关于如何解决这个问题的任何想法?一个特殊的 RxJS 方法?一些我不知道的花哨的 ES.next 关键字?另一个合乎逻辑的设计(保持 SoC 整洁)?
提前致谢!
【问题讨论】:
标签: angular typescript asynchronous rxjs reactive-programming