JavaScript 함수형 프로그래밍 - 지연평가 + Promise


JavaScript 함수형 프로그래밍 - 지연평가 + Promise

지연평가 + Promise 비동기 상황을 제어할 수 있게 코드를 변경 // 현재 코드에서는 Promise를 처리하지 못한다. go([Promise.resolve(1), Promise.resolve(2), Promise.resolve(3)], L.map(a => a + 10), take(2), console.log ) // 수정 코드 const go1 = (a, f) => a instanceof Promise ? a.then(f) : f(a); L.map = curry(function *(f, iter) { for (const a of iter) yield go1(a,f); }); take const take = curry((limit, iter) => { let res = []; iter = iter[Symbol.iterator](); return function recur() { let cur; while(!(cur=iter.next()).done) { const a = cur.v...


#JavaScript #Promise #take #자바스크립트 #지연평가 #함수형프로그래밍

원문링크 : JavaScript 함수형 프로그래밍 - 지연평가 + Promise