// 수정 전
var count = 0;
// 수정 후
var taskCount = 0;
// 프로젝트의 전체 스타일의 들여쓰기가 2칸인 경우
// 수정 전
export default function parallel(tasks, finalCallback) {
var taskCount = 0;
var results = [];
for (var index = 0; index < tasks.length; index++) {
executeTasks(index);
}
function executeTasks(index) {
tasks[index](function addResult(value) {
results[index] = value;
taskCount++;
if (taskCount === tasks.length) {
return finalCallback(results);
}
});
}
}
// 수정 후
export default function parallel(tasks, finalCallback) {
var taskCount = 0;
var results = [];
for (var index = 0; index < tasks.length; index++) {
executeTasks(index);
}
function executeTasks(index) {
tasks[index](function addResult(value) {
results[index] = value;
taskCount++;
if (taskCount === tasks.length) {
return finalCallback(results);
}
});
}
}
// 수정 전
function executeTasks(index) {
tasks[index](function addResult(value) {
results[index] = value;
taskCount++;
if (taskCount === tasks.length) {
finalCallback(results);
}
});
}
// 수정 후
function executeTasks(index) {
tasks[index](function addResult(value) {
results[index] = value;
taskCount++;
if (taskCount === tasks.length) {
return finalCallback(results);
}
});
}
함수의 paramter에 잘못된 값이 들어올 경우에 대한 에러 처리
TypeError() : 새로운 TypeError 객체를 생성함
예외 처리문
throw expression;try {
// statements to try
} catch (e) {
// statements to handle any exceptions
}if (!Array.isArray(tasks)) {
throw TypeError("the first parameter of parallel function must be an array.");
}
if (typeof finalCallback !== "function") {
throw TypeError("the second parameter of parallel function must be a function.");
}