Проблема с использованием 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
,