자바스크립트는의 비동기 처리에 사용되는 객체이다.
setTimeout(function(){
console.log('안녕');
},3000);
console.log('하세요');
비동기 처리는 이처럼 특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 수행한다.
function jqeuryAjax(){
return new Promise((resolve, reject)) => { //new Promise()를 호출하여 대기 상태
jquery.ajax({
...
},
success: (result) => {
resolve(result); //resolve()를 실행하여 이행 상태
},
error: (error)=>{
reject(error); //reject()를 실행하여 실패 상태
}
});
}
}
jqeuryAjax().then((result) => { //이행된 결과값을 then()으로 받음
console.log(result);
}).catch((error) => { // 실패한 결과값을 catch()로 받음
console.log(error)
});
맨위 코드 블록 실행시키면
'하세요'가 출력되고 3초뒤에 '안녕'이 출력되는 거죠?