대머리개발자

flatMap vs map 본문

개발이야기/개념

flatMap vs map

대머리개발자 2024. 11. 20. 16:03
728x90

 지나가는 스트림, 즉 흘러가고 있는 데이터의 물결에서 어떤 가공을 하려면 ?

 

1년동안 주구장창 쓰고 있는데도..

아.. 잘 모르고 쓰고 있구나 싶어서 다시 한번 이해도를 높이기 위한 고민을 시작했다.

 

사실 이부분은 프레임워크의 순 기능이다.

내부적인 동작은 잘 몰라도 그냥 가져다 쓰면 그저 잘 나온다.

 

암튼.. ㅋ

 

아래의 코드를 보자

Mono.just(1).flatMap( it -> Mono.just( it + 2)).subscribe(System.out::println);
Mono.just(1).map( it -> it + 2).subscribe(System.out::println);

 

동일한 결과를 나오지만.

적절하게 언제 어떻게 사용할 수 있는지 매순간 고민하고 머리 빠지고 해야 한다.

 

그런점에서 미리 고민하고 했던 내용들에 대한 잘 쓰여진 블로그는 진짜 단비같다!

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

 

 

아마 지난 블로그에서도 언급했던 기억이 나는데;; 조금 블로그는 계속해서 곱씹어야 한다.

나도 전문적으로 쓰고 있지만... 어쩔.

 

 

결론!!

map은 비동기 작업의 결과를 변환하고, flatMap은 비동기 작업의 결과를 다른 비동기 작업과 연결한다!!!!!

이 차이가 비동기 작업 처리에서 flatMap을 더 유용하게 만드는 핵심이다.

728x90