티스토리 뷰
6.1 마블 다이어그램(Marble Diagram)이란?
- 마블 : 구슬
- IJ에서 확인 가능
![마블 다이어그램](https://user-images.githubusercontent.com/39241588/128735689-018a61bb-73ea-4d9c-a730-1c99ae6d76da.png)
6.2 마블 다이어그램으로 Reactor의 Publisher 이해하기
Mono
Mono[1] : 데이터 한 건을 emit하는 경우
public static void main(String[] args) { Mono.just("Hello Reactor") .subscribe(System.out::println); } > Hello Reactor
Mono[0] : 데이터를 전달받을 필요는 없지만 작업이 끝났음을 알리고 이에 따른 후처리를 하고 싶을 때
public static void main(String[] args) { Mono .empty() .subscribe( none -> System.out.println("# emitted onNext signal"), // onNext Signal error -> {}, // onError Signal () -> System.out.println("# emitted onComplete signal") // onComplete Signal ); } > # emitted onComplete signal
Flux
public static void main(String[] args) { Flux.just(6, 9, 13) .map(num -> num % 2) .subscribe(System.out::println); } > 0 > 1 > 1
Quiz
public static void main(String[] args) { Flux.concat( Flux.just("Mercury", "Venus", "Earth"), Flux.just("Mars", "Jupiter", "Saturn"), Flux.just("Uranus", "Neptune", "Pluto")) .collectList() .subscribe(planets -> System.out.println(planets)); }
- concat() Operator에서 리턴하는 Publisher는 Mono일까요? Flux일까요?
- collectList() Operator에서 리턴하는 Publisher는 Mono일까요? Flux일까요?
- 최종적으로 출력되는 데이터의 형태는 무엇일까요?
'공부 > 스프링으로 시작하는 리액티브 프로그래밍' 카테고리의 다른 글
Chapter 08 | Backpressure (0) | 2023.07.21 |
---|---|
Chapter 07 | Cold Sequence와 Hot Sequence (0) | 2023.07.21 |
Chapter 05 | Reactor 개요 (0) | 2023.07.21 |
Part 02 | Project Reactor (0) | 2023.07.21 |
Chapter 04 | 리액티브 프로그래밍을 위한 사전 지식 (0) | 2023.07.21 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크