인프런 커뮤니티 질문&답변

vanillaa님의 프로필 이미지
vanillaa

작성한 질문수

Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부

마블 다이어그램으로 Flux와 Mono 이해하기

Flux의 에러

해결된 질문

작성

·

315

0

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

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

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

답변 1

1

Kevin님의 프로필 이미지
Kevin
지식공유자

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

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

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

 

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

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

vanillaa님의 프로필 이미지
vanillaa

작성한 질문수

질문하기