В моем приложении я использую rx js, и у меня есть метод, который выглядит следующим образом:
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
метод вызывает между собой dbQuery
, который запрашивает базу данных sqlite.
Кроме того, метод query
вызывается в моем приложении много раз. Поэтому я хотел бы глобально кэшировать результат всякий раз, когда queryString
одинаков.
Другими словами, мне бы хотелось, чтобы метод query
не вызывал снова dbQuery
при вызове с * Параметр 1014 *, который был вызван ранее путем возврата ранее кэшированного значения.
Не уверен, что это уместно: мой метод query
находится в одноэлементной службе Angular.