使用 catchError 与 RxFire Firestore collectionData 时出现问题



我希望能够响应调用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))
    )
  ))
)

使用集合数据处理错误的正确方法是什么?

catchError将捕获可观察对象返回的错误。在您的情况下,这是collectionData.我不熟悉RxFire,但如果你这么说collectionData emits a result with no elements那么不打电话catchError是有道理的。空结果仍被视为(成功)结果。尝试故意使collectionData失败,看看是否会在catchError中出现错误。

相关内容

  • 没有找到相关文章

最新更新