인터프리터는 개발자가 짠 javascript 코드를 읽고 순차적으로 코드를 실행시킨다. 그러나 만일 특정 코드에서 시간이 오래 걸리면 그 아래 줄의 코드는 실행되지 않은 채로 대기하는 참사가 일어날 수 있다.
이를 방지하기 위해 javascript는 비동기 방식을 지원한다.
비동기 처리가 적용된 코드의 경우 우선 실행이 되면 다음 코드가 실행된다.
그러다가 결과를 얻게되면 인터프리터가 다른 코드를 처리하다가도 중간에 비동기 처리의 결과를 처리한다.
//setTimeout 함수도 비동기 처리를 지원.
setTimeout(function(){
console.log('3초 뒤에 실행됩니다!');
}, 3000)
console.log('바로 실행됩니다.');
출력 결과:
바로 실행됩니다.
3초 뒤에 실행됩니다!