안녕하세요! 왈라비🦘 입니다!

지난 글에서 Observablesubscribe하는 모습을 간단히 살펴보셨을 겁니다.

이번에는 이 subscribe에 대해서 조금 더 자세히 살펴보도록 하겠습니다!

🎉  필요한 이벤트만 골라서 사용할래요!


일단 어떤 Observablesubscribe 하려고 보면 아래와 같이 Observable이 방출하는 이벤트에 대해서 처리를 할 수 있도록 자동 완성이 나옵니다.

스크린샷 2021-11-07 오전 1.06 1.png

그리고 이 자동완성을 그대로 받아오면 오른쪽과같이 생성되는 것을 볼 수 있습니다.

음.. 근데 나는 onError에 대한 처리랑 onDisposed에 대한 처리를 따로 하고 싶지 않는데.. 하는 경우가 충분히 있을 수 있겠죠?

그럴 때에는 그냥 오른쪽과 같이 과감히 해당 클로져를 지워버리시면 되겠습니다!

스크린샷 2021-11-07 오전 1.09 1.png

스크린샷 2021-11-07 오후 3.01 1.png

근데 이렇게 모든 이벤트에 대한 처리를 명시해주지 않고 생략하였을 때 주의⚠️ 해야할 점이 있습니다.

바로 저렇게 여러 이벤트 타입들이 생략 되어있는 경우에는 이벤트들을 따로 구분하지 않게 되는데요.

이게 무슨 말인가 하면 오른쪽과 같이 하늘색 영역에서 생략 되어있는 onNext, onError를 동시에 구분하지 않고 처리한다는 말 입니다.

만약 onNext만 생략이 되어있었다면 충분히 추론이 가능하겠지만 여러 이벤트동시에 생략이 되어있다면 추론이 조금 어렵겠죠?

Group 1.png

만약 저기에서 onCompleted까지 생략하면 onCompleted도 하늘색 박스 내에서 처리하게 되는 것이죠.

그러니 원치 않을 때에도 하늘색 내부에 짜둔 코드가 onErroronCompleted 이벤트에 의해서 실행 될 수 있다는 그런 염려가 있는 것이죠.