콜백 함수란 이름 그대로 나중에 호출되는 함수입니다.
비동기적 처리를 통해 어떤 동작을 수행할 때, 콜백 함수는 동작에 필요한 데이터가 준비된 상태에서만 동작을 수행하도록 합니다.
즉, 현재 콜백 함수의 작업이 끝날 때까지, 다음 작업은 진행될 수 없습니다.
function sync(callback,delay){
callback();
}
console.log(0);
sync(()=>console.log('hello'), 0);
console.log(1);
// 출력순서: 0 -> hello -> 1
비동기적 콜백 함수는, 현재 작업의 종료 여부와 상관 없이, 다음 작업이 진행될 수 있도록 하는특성을 가집니다.
function sync(callback,delay){
callback();
}
console.log(0);
setTimeout(function(){console.log('hello')},0);
console.log(1);
// 출력순서: 0 -> 1 -> hello
위 예제와 같은 setTimeout은 브라우저에서 제공하는 Web API에 의해 동작합니다.