【发布时间】:2017-04-20 18:50:11
【问题描述】:
大家, 我正在学习使用 Angular 2 的 Web App 程序,我想实现一个服务。
这样的服务:
@Injectable
export class MyService {
private _data: Any;
private _dataReady: boolean = false;
getData(): Observable<any> {
if (this._dataReady)
return Observable.of(this._data);
else {
http.get('url').subscribe(response=>{
this._data = do_some_calc(response, this._data);
if (need_more_data(this._data)) {
Recursive http.get('url')....
} else {
this._dataReady = true;
return Observable.of(this._data);
}
});
}
}
}
对我来说困难的部分是当数据没有准备好时,需要从网络上获取一些数据,并且依赖于新到达的数据中的信息,可能需要再次从网络上获取另一个数据。
如何实现这部分并最终返回客户端一个 Observalbe?
我知道如何实现这个使用回调函数,但我对如何使用 RxJS 实现非常感兴趣。
谢谢。
【问题讨论】:
标签: angular typescript rxjs rxjs5