簡體   English   中英

返回 Observable 並以 angular 訂閱

[英]Return Observable and subscribe in angular

我有一個角度服務並且在設置一些屬性時遇到問題(可能是我的理解問題)。

    @Injectable()
    export class MyService{
    hoHa:MyObj = null;

    someFunction(): Observable<MyObj>{

     return httpClient.get<MyObj[]>('url')
                      .pipe(
                        map(response => response[]),
                        catchError(this.handleError('someFunction', {} as MyObj)                  
                     )

    }
}

如何在 someFunction GET 響應中設置“hoHa”服務屬性? 在 angularJs 中,我用來設置 $http 中的 'hoHa' 獲得成功響應。

如果在有人調用 someFunction 時已經設置了“hoHa”,我該如何返回? 在 angularJs 中,如果屬性已經設置,我使用返回 $q.when()

您可以使用tap並仍然將 observable 返回給調用者,以便它可以被訂閱。

@Injectable()
export class MyService{
    hoHa:MyObj = null;

    someFunction(): Observable<MyObj>{
        return httpClient.get<MyObj>('url')
            .pipe(catchError(this.handleError('someFunction', {} as MyObj), tap(result => this.hoHa = result));

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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