자바스크립트는 동기적으로 처리된다.(Synchronous)
자바스크립트는 가끔 비동기적인 처리도 가능하다.(Asynchronous)
비동기식 처리를 도와주는 함수
: setTimeout, 이벤트리스너, ajax자바스크립트는 보통 오래 걸리는 연산을 만나면 멈춘다.(동기식 처리)
그러나 Web API와 연관된 특수한 함수들을 쓰면 작업이 오래 걸릴 때 다른거부터 실행이 가능하다.(비동기식 처리)
콜백함수
: 함수 안에 들어가는 함수
console.log(1);
setTimeout(console.log(2), 1000);
console.log(3);
콜백함수 이용
console.log(1);
setTimeout(function(){ console.log(2) }, 1000);
addEventListener('click', 함수); // 이렇게도 가능
console.log(3);
function 첫째함수(둘째){
console.log(1);
둘째();
}
function 둘째함수(){
console.log(2);
}
첫째함수(둘째함수); // 첫째함수 실행 후 둘째함수 실행됨.
첫째함수(function(){
둘째함수(function(){
셋째함수(function(){
어쩌구..
});
});
}):
첫째함수().then(function(){
그 담에 실행할거
}).then(function(){
그 담에 실행할거
});