Side Effect Methods
doOn~ 종류의 operator 들을 통칭하여 Side Effect Method 라고 부른다. 이를 알아본다.

Last updated
doOn~ 종류의 operator 들을 통칭하여 Side Effect Method 라고 부른다. 이를 알아본다.

Last updated
@Test
void sideEffect() {
Flux<Integer> numbers = Flux.fromIterable(List.of(1, 2, 3))
.doOnEach(number -> System.out.println("doOnEach : " + number))
.doOnNext(number -> System.out.println("doOnNext : " + number))
.doOnSubscribe(number -> System.out.println("doOnSubscribe : " + number))
.log()
.doOnComplete(() -> System.out.println("doOnComplete"));
StepVerifier.create(numbers)
.assertNext(number -> {
Assertions.assertEquals(1, number);
})
.assertNext(number -> {
Assertions.assertEquals(2, number);
})
.assertNext(number -> {
Assertions.assertEquals(3, number);
})
.verifyComplete();
}10:55:49.883 [Test worker] DEBUG reactor.util.Loggers$LoggerFactory - Using Slf4j logging framework
doOnSubscribe : reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber@2b5f4d54
10:55:49.921 [Test worker] INFO reactor.Flux.PeekFuseable.1 - | onSubscribe([Fuseable] FluxPeekFuseable.PeekFuseableSubscriber)
10:55:49.927 [Test worker] INFO reactor.Flux.PeekFuseable.1 - | request(unbounded)
doOnEach : doOnEach_onNext(1)
doOnNext : 1
10:55:49.928 [Test worker] INFO reactor.Flux.PeekFuseable.1 - | onNext(1)
doOnEach : doOnEach_onNext(2)
doOnNext : 2
10:55:49.933 [Test worker] INFO reactor.Flux.PeekFuseable.1 - | onNext(2)
doOnEach : doOnEach_onNext(3)
doOnNext : 3
10:55:49.934 [Test worker] INFO reactor.Flux.PeekFuseable.1 - | onNext(3)
doOnEach : onComplete()
10:55:49.935 [Test worker] INFO reactor.Flux.PeekFuseable.1 - | onComplete()
doOnComplete