함수형 프로그래밍 #2

wherehows·2021년 8월 15일
1
modifiedReduce(
	[Promise.resolve(1), Promise.resolve(2)],
	lazyFilter(a => a % 2),
    take(2),
    log
)

modifiedReduce(
	[1,2,3,4,5,6],
    	reduce(add),
        log
);

reduce함수에 head함수가 추가된 상태에서 아래 표현식 평가

modifiedReduce(
	[1,2,3,4,5],
    	take(2),
        log
);

// const delay1000 = a => new Promise(resolve => setTimeout(() => resolve(a), 500));
console.time('');
modifiedReduce(
    [1, 2, 3, 4, 5],
    lazyMap((a) => delay1000(a * a)),
    lazyFilter((a) => a % 2),
    concurReduce(add),
    log, // hi가 동시에 줄력된다.
    (_) => console.timeEnd('')
); // 걸리는 시간 1.014초

0개의 댓글