Published on2026년 2월 15일go, pipe, reduce에서 비동기 제어 — Promise를 값으로 다루는 함수 합성javascriptfunctional-programmingpromiseasyncreducegopipego, pipe는 reduce로 구현되어 있다. reduce 하나만 고치면 비동기 상황에서도 함수 합성이 안전하게 동작한다. 유명 함수와 재귀로 동기 구간의 성능을 지키면서, Promise.reject까지 안전하게 처리하는 방법을 알아보자.
Published on2026년 2월 15일비동기를 값으로 만드는 Promise — 모나드와 Kleisli Compositionjavascriptfunctional-programmingpromiseasynckleisli-compositionmonadcallback은 결과를 값으로 돌려주지 못한다. Promise는 비동기를 일급 값으로 만들어 합성을 가능하게 한다. 모나드 관점에서 Promise의 안전한 합성을 이해하고, Kleisli Composition으로 외부 상태 변화까지 다뤄보자.