簡體   English   中英

如何從Observable內部返回Observable

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM