• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

Flux의 에러

23.10.05 01:10 작성 조회수 192

0

Flux에서 3개의 데이터 중 2개만 성공하는 경우 어떤식으로 처리가 되나요?

  1. 한 개만 실패해도 onError signal을 받게 되나요?

  2. 만약 2개가 에러가 나면 두 개의 errorsignal을 받나요?

답변 1

답변을 작성해보세요.

1

안녕하세요? 아래의 질문을 주셨는데요. 간단히 답변 드리면 아래와 같습니다.

  1. 한 개만 실패해도 onError signal을 받게 되나요?

--> 리액터에서는 하나의 데이터 emit에 실패하면 즉, 에러(Java의 예외)가 발생하면 기본적으로 onError signal을 통해 에러 정보를 Exception 형태로 Subscriber에게 전달합니다. 2부에서 리액터의 에러 처리에 대해서 다루겠지만 Subscriber가 에러 정보를 전송 받는 대신에 에러 정보를 대신하는 대체 값을 전달 받는다거나 에러 발생 시점에 Sequence를 다시 시작하는 등의 에러 전략 등을 적용할 수 있습니다.

 

  1. 만약 2개가 에러가 나면 두 개의 errorsignal을 받나요?

--> Java에서 예외가 발생하면 먼저 발생한 예외가 throw 되듯이 리액터에서도 먼저 발생한 에러로 인해 구독이 취소됩니다.