我希望能够对调用collectionData时出现的错误做出响应。我添加了一个catchError,但它从未被调用过。实际上,collectionData发出的结果没有任何元素。
export const bundleEpic = action$ => action$.pipe(
ofType(BUNDLES_LOAD),
tap(action => console.log(`Received action: type=${action.type}`)),
switchMap(() => (
collectionData(bundlesRef, 'id')
.pipe(
tap(docs => console.log(`bundleEpic: size = ${docs.length}`)),
map(docs => publicBundlesLoadSuccess(docs)),
catchError(error => from(publicBundlesLoadFail(error))
)
))
)使用collectionData处理错误的正确方法是什么?
发布于 2019-01-20 04:50:53
catchError将捕获由observable返回的错误。在您的例子中,就是collectionData。我不熟悉RxFire,但是如果你说collectionData emits a result with no elements,那么catchError不被调用是有道理的。空结果仍然被认为是(成功的)结果。尝试故意让collectionData失败,看看catchError中是否会出现错误。
https://stackoverflow.com/questions/54270412
复制相似问题