[英]How to Return Observable from inside Observable
我有這段代碼可以獲取緩存的值:
getConfigurations(): Observable<SiteConfiguration[]> {
return this.storageService.getSiteConfigurations().map(c => {
if(c) {
return c;
}
return this.httpClient.get<SiteConfiguration[]>(this.url + "/config").subscribe(c => c);
});
}
我緩存了SiteConfiguration
對象,但是如果它不存在,則需要轉到服務器以獲取它。 但是我不能在第一個內部返回第二個Observable<Observable<SiteConfiguration[]>>
,因為它將返回一個Observable<Observable<SiteConfiguration[]>>
。
我敢肯定這是常見的情況,但是我的Google-fu無法找到答案。
您的代碼應如下所示
getConfigurations(): Observable<SiteConfiguration[]> {
return this.storageService.getSiteConfigurations().flatMap(c => {
if(c) {
return Obserbable.of(c);
}
return this.httpClient.get<SiteConfiguration[]>(this.url + "/config")
})
}
getCOnfiguration().subscribe(c => c);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.