【发布时间】:2021-06-23 14:24:21
【问题描述】:
我在我的 Angular 应用程序中创建了一个服务来创建单个 http 调用并使用 RxJS 和 shareReplay 缓存结果,如下所示:
export class ApiService {
data$: Observable<any>;
constructor(
private http: HttpClient,
) { }
loadData(lang:string) {
this.data$ = this.http.get(APP_ENDPOINT + '?lang=' + lang).pipe(
shareReplay(1)
);
}
getData() {
return this.data$;
}
}
如果我的应用程序中的语言发生变化,我正在尝试弄清楚如何更新我的 data$ observable,因为我需要一个新的 http 请求并在请求中传递 lang 变量。
“重置”缓存的 data$ 并创建新的 http 调用以获取该语言的新数据的最佳方法是什么?
【问题讨论】: