javascript에서는 callback 함수는 다른 함수의 매개변수로 함수를 전달하고, 어떠한 이벤트가 발생한 후 매개변수로 전달한 함수가 다시 호출되는 것을 의미합니다.
callback은 쉽게 말하자면 어떤 일을 다른 객체에게 시키고, 그 일이 끝나는 것은 기다리지 않고 끝나고 부를 때까지 다른 일을 하는 것을 말합니다.
그렇기 때문에 non-block이며, 비동기 방식의 함수를 사용합니다.
2.callback 함수 사용법
function first(a,b,callback){
let v=a*b;
callback(v);
}
first(1,2,function(v){
console.log(v); //2
})
위와 같이 아래에서 first 함수를 호출하는데 호출할 때 익명 함수를 parameter로 넘겨줍니다.
그러면 first 함수에서는 그 함수 parameter를 callback이라는 이름으로 받고 있습니다.
first가 실행되면 a,b를 곱한 결과 값을 callback함수의 parameter로 넣어줍니다.
여기서 callback함수는 아래의 익명 함수이므로 그 익명 함수가 실행되겠죠?
결과 값은 2(1*2)가 됩니다.
3.callback 함수를 쓰는 이유
만약 node.js를 쓰면서 콜백을 받아야 하는 상황에 callback 함수를 사용하지 않는다면 콜백 함수의 과정이 끝나기 전에 다음 프로세스가 진행될 수 있습니다.
그것을 막기 위해 차례대로 수행하기 위해 callback 함수를 사용해야 합니다.