observable

sang hyeok Lee·2022년 4월 23일
0

observable

Observable은 데이터의 흐름을 관장하는 클래스로써 RxJava에서는 Observable이 절대 빠질 수 없다. Observable은 데이터의 흐름에 맞게 알림을 보내 구독자가 데이터 처리를 할 수 있도록 만든다. Observable은 세 가지의 알림을 구독자에게 전달하며 그 종류는 아래와 같다.
RxJava에서는 Observable을 구독하는 Observer가 존재하고, Observable이 순차적으로 발행하는 데이터에 대해서 반응한다. Observable은 다음의 3가지 이벤트를 사용하여 동작한다.

onNext() : 하나의 소스 Observable에서 Observer까지 한 번에 하나씩 순차적으로 데이터를 발행한다.
onComplete() : 데이터 발행이 끝났음을 알리는 완료 이벤트를 Observer에 전달하여 onNext()를 더 호출하지 않음을 나타낸다.
onError() : 오류가 발생했음을 Observer에 전달한다.
위 이벤트들은 Emitter라는 인터페이스에 의해 선언된다.

Observer

promise에서는 결과에 대해서 resolve(), reject() 함수를 통해서 데이터를 전달해준다. observable에서 이런 역할을 하는 객체가 observer 객체이다. observer 객체에도 역시 데이터를 밀어 너어주는 next()함수 (= resolve), 에러가 났을 때 에러를 보내줄 수 있는 error()함수 (=reject) 마지막으로 데이터 스트림의 종료를 알려주는 complete()함수 이다. 이 종료 함수는 promise에는 없다.

profile
개발자 되기

0개의 댓글