📚 TL; DR
📖 Retry
- 스트림에서 에러가 발생 하였을 때, 스트림을 재구독 해주는 operator
- 따로 인자를 받지 않는
retry() operator 는 횟수 제한 없이 재구독
times 라는 인자를 주어 retry 횟수를 지정 할 수 있음
- Boolean을 리턴하는 함수를 의미하는
predicate 를 주어 재구독 할 조건을 지정 할 수 있음
- retry operator를 위치시키는 위치가 중요 할 수 있음
📖 RetryWhen
- retry 조건을 stream으로 지정할 때 사용되는 operator
- 에러를 감싸서 하나의 데이터로 방출하는 stream이 인자로 존재하고, 이 에러 stream에서 데이터가 방출 될 때 재시도가 이루어 짐
- 에러 stream을
flatMap / switchMap 등의 operator로 적절히 변경하여 사용 할 수 있음
📖 OnErrorResumeNext
- 에러가 발생 하였을 때, 스트림을 다른 스트림으로 변환 해 주는 operator
- 에러가 발생 하였을 때, 재시도가 아닌 스트림을 다른 스트림으로 변환하고자 할 때 주로 사용됨
📖 OnErrorReturn
- 에러가 발생 했을 때, 특정 데이터 형식의 아이템을 발행 해주는 operator
- 에러가 발생 하더라도 특정 형식의 데이터가 발행될 뿐 정상적으로 작동
📚 에러 처리 연산자
📖 개요
Stream에서 데이터 발행 / 이벤트 처리 도중, 에러가 발생 했을 때 어떤 처리를 해줄지를 다루는 operator들을 알아보고자 합니다.