JavaScript 함수형 프로그래밍 - go, pipe, reduce에서 비동기 제어


JavaScript 함수형 프로그래밍 - go, pipe, reduce에서 비동기 제어

go 함수는 reduce를 사용하는 함수이고 pipe 함수는 go 함수를 사용하는 함수이다. 따라서 reduce 함수를 수정하면 go, pipe 함수도 비동기적인 코드를 제어할 수 있다. go(1, a => a + 10, a => Promise.resolve(a+100), a => a + 100, a => a + 1000, console,log); // 방법 1 // 중간에 Promise를 만나게 되면 연속적으로 비동기처리가 일어난다. // 즉, 불필요한 load 혹은 성능 저하가 발생할 수 있다. const reduce = (f, acc=0, iter) => { if (!iter) { iter = acc[Symbol.iterator](); acc = iter.next().value; } else { iter = iter[Symbol.iterator](); } let cur; while(!(cur=iter.next()).done) { const a = cur.value; acc = ...


#go #JavaScript #pipe #reduce #비동기제어 #자바스크립트 #함수형프로그래밍

원문링크 : JavaScript 함수형 프로그래밍 - go, pipe, reduce에서 비동기 제어