У меня есть список пользователей, которых я хочу кэшировать, чтобы другой компонент в моем приложении Angular 5 не попадал в веб-службу, а скорее возвращал кэшированный ответ.Для этого я сделал следующее:
getAllUsers() {
return this.getUncachedUsersList().publishReplay().refCount();
}
getUncachedUsersList() {
return this.http.get('https://......');
}
В приведенном выше фрагменте кода у меня есть два метода.Я вызываю getAllUsers внутри всех компонентов, которым нужен список пользователей, за исключением случая, когда, скажем, я добавляю пользователя, а затем мне нужен обновленный список.В этом случае я вызываю getUncachedUsersList для получения последней версии.
Проблема в том, что когда я вызываю getUncachedUsersList, я ожидаю, что getAllUsers кеширует новый список, но вместо этого возвращает тот же старый список, которыйбыл кэширован перед добавлением нового пользователя.Поэтому я хотел бы знать, как я могу очистить кэшированный ответ и сохранить новый ответ, который я получаю из getUncachedUsersList, и вернуть новый ответ при вызове getAllUsers.