Page 26 -
P. 26

그림 1-7 RxJava 연산자의 개요

                                                   시간 흐름


                           원본             1         2        3
               Flowable/Observable
                                 처리
                                  작업
                         메서드      흐름               데이터×2





                         새로운               2                6
               Flowable/Observable                 4


               그리고 이 연산자를 연결해나감으로써(method chain, 메서드 체인) 최종 통지 데이터의 단순한 처리
               를 단계적으로 설정할 수 있습니다. 먼저 메서드 체인이 무엇인지 실제로 확인해 보면 이해하기

               쉬우니 간단한 예제를 살펴봅시다. RxJava는 아직 거의 설명하지 않았으므로 메서드를 연결해 최
               종으로 데이터를 통지하는 Flowable이 생성된다고만 알아두면 됩니다.

               예제 1-7에서는 인자로 전달된 데이터를 순서대로 통지하는 Flowable을 Flowable 생성 메서드
               인 just 메서드로 생성합니다. 그리고 생성한 Flowable이 통지하는 데이터 중에서 짝수만 통지
               하게 filter 메서드로 골라낸 후 이 데이터를 map 메서드로 100배 늘려 통지합니다.


                예제 1-7 메서드 체인 예제 _ L07_MethodChainSample.java
                 public static void main(String[] args) {
                     Flowable<Integer> flowable =
                         // 인자의 데이터를 순서대로 통지하는 Flowable을 생성한다
                         Flowable.just(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) //  1
                             // 짝수에 해당하는 데이터만 통지한다
                             .filter(data -> data % 2 = = 0) //  2
                             // 데이터를 100배로 변환한다
                             .map(data -> data * 100); //  3

                     // 구독해서 받은 데이터를 출력한다
                     flowable.subscribe(data -> System.out.println("data=" + data));
                   }







         034





     RxJava 리액티브 프로그래밍(본문)최종.indd   34                                                      2019-03-26   오전 11:26:31
   21   22   23   24   25   26   27   28   29   30   31