在我的应用程序中,我使用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单例服务中。
第一次通过使用作为查询字符串的键将远程值保存到本地缓存属性。