У меня есть метод, который получает значение из локального хранилища через ключ: MyLocalService.get(key)
.
MyLocalService.get(key)
возвращает Observable<MyObject>
.
Однако, когда ключ не существует в локальном хранилище, мне нужно запросить на моем бэкэнде: MyRemoteService.get(key)
.
MyRemoteService.get(key)
также возвращает Observable<MyObject>
.
Теперь я хотел бы объединить эти два вызова в одну наблюдаемую, что-то вроде:
`MyLocalService
.get(key)
.pipe(switchMap((value: MyObject) =>
value ? value: MyRemoteService.get(key)));`
Проблема в этом случае заключается в том, что «значение» НЕ является Наблюдаемым, а switchMap требует, чтобы Наблюдаемое было возвращено.
Если так, то какая лучшая альтернатива?
Является ли использование оператора OF чем-то верным в этом сценарии?
value? of(value): MyRemoteService.get(key)
Есть ли лучшая альтернатива, которая следует за хорошей практикой?