대머리개발자

리액티브 프로그래밍 본문

개발이야기/개념

리액티브 프로그래밍

대머리개발자 2023. 11. 29. 10:43
728x90

 

 

reactive 리팩토리..

모든 비지니스 로직이 하나의 흐름에 들어가야 하는 것이 맞는건가?? 결과는 같지만 정확한 이해를 위해서 다시 한번 곱씹어 봤다. 반년전에 작성했던 코드를 다시 보니.. @.@ 1. 적절한 리액티브

hcnmy.tistory.com

 

기존 작성했던 부분에 이어서  추가적으로 보완하려고 작성하는 부분이다.

 

오퍼레이터를 많이 쓴다고 좋은것은 아니다. 허세 부리지 말고 잘 이해한 녀석만 쓰자!!

 

클린하고자 하는 대상코드이다.

 

내부 isOK라는 친구를 사용하지 않아서  flatMap() -> then() 으로 변경했고

 

 

 

동일한 닉네임이 있는 경우 하위 연결된 흐름이 실행되는지 체크해보았다.

 

flatMap() 안에 있는 getSimpleUser()는 호출 되지 않았지만

then()안에 있는 getSimpleUser() 호출이 되었다. (호출은 되었지만  쿼리 자체는 실행되지 않았다.)

 

이해 할 수 있겠는가???

 

노 이해지만 케이스로 이해를 했다.

 

then() 녀석의 마블 다이어그램을 찾아 보았다.

이전 스트림은 배제하고 새출발 한다. 따라서 filter하고 궁합이 안 맞는다. filter에서 나온 스트림에 상관없이 출발하니깐!

비동기로 then()이 진행 되다가..error 구독을 만나기 때문에.. 쿼리자체는 실행되지 않는듯..ㅎㅎ

 

찝찝하니깐. 아예 실행되지 않는 구조로... 고고

 

같은 아웃풋이 나온다하여도.. 이해되지 않은 코드를 넣는것은 바림직 하지 않는다고 본다

이해 하지 못한 오퍼레이터 사용하는 것보다 이해 할 수 있는 코드로 변경해서 작업하자....쉽게!!쉽게!!

 

마블 다이어그램...너무 방대하다. 아는것만 쓰자!! ㅎㅎ

 

 

 

 

Mono (reactor-core 3.6.0)

static  Mono using(Callable  resourceSupplier, Function > sourceSupplier, Consumer  resourceCleanup, boolean eager) Uses a resource, generated by a supplier for each individual Subscriber, while streaming the value from a Mono derived from the same re

projectreactor.io

 

https://d2.naver.com/helloworld/2771091

 

728x90

'개발이야기 > 개념' 카테고리의 다른 글

게시판에서 공지 기능 만들기  (2) 2023.12.07
리액티브 Block 하기!!!  (1) 2023.11.30
인증...아..애자일  (0) 2023.11.04
URI 컨벤션...  (0) 2023.10.25
좀 더 deep 하게 쿠버네이트 구성해보자. (1)  (0) 2023.07.27