【发布时间】:2018-04-27 18:01:55
【问题描述】:
我的应用中有这段代码:
public requestList(): Observable<Record[]> {
return this.http.get(this.requestUrl)
.map((response: any) => this.currentList = response.json())
.catch(this.setError);
}
我希望这个列表只从我的后端加载一次。所以我需要检查currentList 是否已满。如果是这样,我必须忽略http.get() 并手动将currentList 内容返回给订阅者,就像他从后端获取一样透明。我怎样才能做到这一点?
public requestList(): Observable<Record[]> {
if (this.currentList !== undefined) {
// MAGIC HERE: returning content that's already in this.currentList HOW?
}
return this.http.get(this.requestUrl)
.map((response: any) => this.currentList = response.json())
.catch(this.setError);
}
【问题讨论】:
-
魔术:
return Observable.of(this.currentList); -
非常感谢!你有兴趣写一个答案吗?
-
是的,我正在写一篇更详细的文章。
-
不需要。这解决了我的问题。这只是为了给你指出积极的一面!
标签: angular rxjs reactive-programming