본문 바로가기
NodeJs

Node.js 디자인패턴, 병렬실행 패턴

by pretzel1 2023. 11. 20.

 

const tasks = [ /* ... */]

let completed = 0

tasks.forEach(task => {
	task(() => {
    	if(++completed === tasks.length){
        	finish()
        }
    })
})

 

 

모든 작업을 한꺼번에 시작하고, 앞선 작업이 완료되기를 기다리지 않고 배열 내의 task에 대해 각각의 작업을 시작시킨다.

 

경쟁 (competitive race) :작업의 결과를 컬렉션에 모으거나, 배열의 요소를 필터링 또는 매핑하거나, 일정한 작업의 수가 완료되면 즉시 finish() 콜백을 호출하도록 할 수 있다. 

댓글