Page 21 -
P. 21

Publisher와 Subscriber가 사용하는 Subscription은 통지받을 데이터 개수를 지정해 데이터 통
                    지를 요청하거나 통지받지 않게 구독을 해지할 때 사용하는 인터페이스입니다. Subscription은
                    Publisher에서 인스턴스가 생성돼 통지 준비가 끝났을 때 호출하는 onSubscribe 메서드의 인자                       1

                    로 Subscriber에 전달됩니다. 이 Subscription을 받은 Subscriber는 Subscription의 메서드를
                    호출해 데이터 개수를 요청하거나 구독을 해지합니다.                                                      RxJava의 기본
                    또한, onNext 메서드에서 이 Subscription을 사용하려면 onSubscribe 메서드로 전달받은

                    Subscription이 Subscriber 내부에 있어야 합니다.

                     예제 1-6 Subscription 보관

                      publisher.subscribe(new Subscriber<T>() {
                          // subscriber 내부에 Subscription 보관하기
                          private Subscription subscription;

                      @Override
                          public void onSubscribe(Subscription subscription) {
                              // 받은 Subscription을 Subscriber 내부에 보관한다
                              this.subscription = subscription;

                              // 처음에 통지받을 데이터 개수를 요청한다
                              this.subscription.request(num);

                              (중략)

                          }


                          @Override
                          public void onNext(T item) {


                              (중략)

                              // 요청한 데이터를 처리하면 다음 데이터 개수를 요청한다
                              subscription.request(num);
                          }

                          (중략)

                      });







                                                                                                  029





     RxJava 리액티브 프로그래밍(본문)최종.indd   29                                                      2019-03-26   오전 11:26:31
   16   17   18   19   20   21   22   23   24   25   26