我有一种方法可以通过以下键从本地存储中获取值: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)));`
在这种情况下,问题在于“值”不是一个Observable,而switchMap要求返回一个Observable。
如果是这样,最好的选择是什么?
在这种情况下,使用OF运算符是否有效?
value? of(value): MyRemoteService.get(key)
是否有遵循良好实践的更好的选择?