• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

예제에서 Runnable 용도

21.10.03 12:40 작성 조회수 115

0

안녕하세요.

dispose 함수에 Runnable 객체가 전달되는데, emitter 완료와 타임아웃 때 처리되는 로직이 runnable로 만 처리해야 하는 건가요?

아직 rx 프로그래밍에 대한 경험이 없다보니 예제 코드가 관례적인 것인지 아닌지 판단하기 어렵습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요. 대체 휴일이 끼어있다보니 답변이 좀 늦었습니다. 

가족하고 함께 해야 되는 시간이 있다보니 답변이 더 늦어진 점 양해 부탁드리겠습니다.

질문하신 부분에 대해서 답변을 드려보자면,

"dispose 함수에 Runnable 객체가 전달되는데, emitter 완료와 타임아웃 때 처리되는 로직이 runnable로 만 처리해야 하는 건가요?"

--> runnable만 처리하라는 법은 없겠지만 제가 만든 예제 상으로는 SseEmitter 의 onCompletion 메서드의 경우에는 runnable을 파라미터로 전달 받아서 후속 처리를 하도록 API에 정의가 되어 있기때문에 관례적으로 사용을 한건 맞습니다. 예제 코드의 흐름 상 세션이 종료될 때 구독을 해지 해주는것이 리소스를 효율적으로 사용하게 만들어줄테니까요. 저는 구독 해지를 세션이 종료 되는 경우에 사용을 했지만 구독 해지는 애플리케이션의 요구사항에 따라서 구독 해지의 상황이 달라질테니 적절하게 대응을 하시면 될 것 같아요.

 

다른 질문이 있으시면 언제든지 질문 해주시면 감사드리겠습니다.

개발중님의 프로필

개발중

질문자

2021.10.08

네~ 답변 감사합니다.