Promise 객체
비동기 처리란?
: 특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 먼저 수행하는 자바스크립트의 특성
응답을 언제 받을 수 있는지 모르기 때문에 서버에 데이터를 요청하고 요청에 대한 응답을 받기 전에 나머지 코드를 수행한다.
비동기 처리 예시
setTimeout( )
을 수행할 때 비동기 처리에 대해 알 수 있다.
// #1
console.log('Hello');
// #2
setTimeout(function() {
console.log('Bye');
}, 3000);
// #3
console.log('Hello Again');
위와 같은 코드를 수행할 때 1이 진행되고 3초 뒤 2, 바로 뒤에 3이 진행될 것 같지만,
자바스크립트의 비동기 처리 특성 때문에 콘솔창에 나타나는 결과는 다르다.
처음에 바로 1이 수행되고,
2의 “Hello Again”이 나타난 뒤에
undefined
가 나타난 뒤에 3초 뒤에 3의 “Bye”가 표시된다.