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