function taskA() {
setTimeout(() => {
console.log("A TASK END");
}, 2000);
}
taskA();
console.log("코드 끝");
❗ taskA가 안 끝 났는데 코드 끝 먼저 실행 되고 2초 후에 taskA 실행 => 비동기 방식
function taskA(a, b, cb) {
setTimeout(() => {
const res = a + b;
cb(res);
}, 3000);
}
function taskB(a, cb) {
setTimeout(() => {
const res = a * 2;
cb(res);
}, 1000);
}
function taskC(a, cb) {
setTimeout(() => {
const res = a * -1;
cb(res);
}, 2000);
}
taskA(3, 4, (res) => {
console.log("A TASK RESULT :", res);
});
taskB(7, (res) => {
console.log("B TASK RESULT : ", res);
});
taskC(14, (res) => {
console.log("C TASK RESULT :", res);
});
console.log("코드 끝");
❗ 비동기 처리의 결과 값을 이용해야 할때는 callback함수를 사용