로딩
요청 처리 중입니다...

JavaScript 함수형 프로그래밍 - Kleisli Composition : L.filter, nop, take + Promise

 JavaScript 함수형 프로그래밍 - Kleisli Composition : L.filter, nop, take + Promise

L.filter nop : Promise.reject을 했을 시 에러가 아닌 값을 전달하지 않겠다는 구분자 역할 Promise.reject가 존재하면 then이 몇 개 존재하든 바로 catch 부분의 코드가 실행되게 된다. // 현재는 Promise를 filter하지 못한다. go([1,2,3,4,5,6], L.map(a => Promise.resolve(a * a)), L.filter(a => a % 2), take(2), console.log ) // 수정 코드 const nop = Symbol('nop'); const go1 = (a, f) => a instanceof Promise ? a.then(f) : f(a); L.filter = curry(function *(f, iter) { for (const a of iter) { const b = go1(a, f); if (b instanceof Promise) yield b.then(b => b ?

a : Promise.rej...

# JavaScript # KleisliComposition # Lfilter # nop # take # 자바스크립트 # 함수형프로그래밍