Rxjs如何缓存给定参数的可观察结果?

问题描述 投票:0回答:1

在我的应用程序中,我使用rxjs,并且有一个看起来像这样的方法:

query<T extends TableRow>(queryString: string, silent = false): Observable<T[]> {
  return this.sqliteService.dbQuery<T>(queryString).pipe(
    tap(val => {
      if (this.configService.debugMode && !silent) {
        console.log(`\n${queryString}`);
        console.log(val);
      }
    })
  );
}

我的query方法交互地调用查询sqlite数据库的dbQuery

此外,query方法在我的应用中被多次调用。因此,只要queryString相同,我就希望全局缓存结果。

换句话说,我希望query方法通过返回以前缓存的值来避免在使用之前已调用过的dbQuery参数调用时再次调用queryString

不确定这是否相关:我的query方法位于Angular单例服务中。

angular typescript rxjs rxjs6 rxjs-observables
1个回答
0
投票

第一次通过使用作为查询字符串的键将远程值保存到本地缓存属性。

© www.soinside.com 2019 - 2024. All rights reserved.