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