const tasks = [ /* ... */]
let completed = 0
tasks.forEach(task => {
task(() => {
if(++completed === tasks.length){
finish()
}
})
})
모든 작업을 한꺼번에 시작하고, 앞선 작업이 완료되기를 기다리지 않고 배열 내의 task에 대해 각각의 작업을 시작시킨다.
경쟁 (competitive race) :작업의 결과를 컬렉션에 모으거나, 배열의 요소를 필터링 또는 매핑하거나, 일정한 작업의 수가 완료되면 즉시 finish() 콜백을 호출하도록 할 수 있다.
'NodeJs' 카테고리의 다른 글
| Node.js 디자인패턴, Promisification (0) | 2023.11.30 |
|---|---|
| Node.js 디자인패턴, 순차실행 (0) | 2023.11.16 |
| Node.js 디자인패턴, 콜백규칙적용 - 빠른반환원칙 (0) | 2023.11.15 |
| [Node.js 디자인패턴] 모듈 시스템 (0) | 2023.08.22 |
| NodeJS Sqlite3연동, errno :14 , code :SQLITE_CANTOPEN 오류 (0) | 2023.07.20 |
댓글