📌 비동기 프로그래밍
비동기적 방식이란? 실행 중인 코드의 완료 여부와 무관하게 다음 코드로 넘어가는 방식이다.
비동기적 프로그래밍을 하다 보면 콜백지옥과 같은 예기치 못한 상황을 마주할 수 있다. 이때 콜백지옥이랑 콜백 함수를 익명 함수로 전달하는 과정이 반복되어 코드의 들여쓰기 수준이 헬 수준인 경우로 주로 이벤트 처리 및 서버 통신과 같은 비동기적 작업을 수행할 때 발생한다.
이를 해결하기 위해서 ES6에서 Promise 객체가 등장한다.
📌 Promise 객체
Promise 객체란? 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타낸다. 비동기처리는 약속에 의해 움직이고, 그 약속에 관련된 사항들은 모두 Promise 객체에 담긴다.
1) Promise 객체에 담기는 주요한 상태 정보
2) Promise 객체 핸들링
axios.get('http://api.naver.com/weather/today')
.then(response => {
console.log('정상처리 되었습니다 : ' + response);
})
.catch(error => {
console.log('오류가 발생하였습니다 : ' + error);
})
.finally(()=>{
console.log('항상 실행되는 부분입니다!');
});
const getWeather = async () => {
try {
const response = await axios.get('http://api.naver.com/weather/today');
console.log('정상처리 되었습니다 : ' + response);
} catch (error) {
console.log('오류가 발생하였습니다 : ' + error);
}
}