Проблема с использованием catchError с коллекцией RxFire firestoreData

Я хочу иметь возможность реагировать на ошибки от вызова 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?

1 ответ

catchError будет ловить ошибки, возвращаемые наблюдаемым. В вашем случае это collectionData, Я не знаком с RxFire, но если ты так говоришь collectionData emits a result with no elements тогда это имеет смысл для catchError не быть призванным. Пустые результаты все еще считаются (успешными) результатами. Попробуйте сделать collectionData не в состоянии увидеть, если вы получите ошибку в catchError,

Другие вопросы по тегам