230704 비동기 프로그래밍

나윤빈·2023년 7월 4일
0

TIL

목록 보기
12/55

📌 비동기 프로그래밍

비동기적 방식이란? 실행 중인 코드의 완료 여부와 무관하게 다음 코드로 넘어가는 방식이다.

비동기적 프로그래밍을 하다 보면 콜백지옥과 같은 예기치 못한 상황을 마주할 수 있다. 이때 콜백지옥이랑 콜백 함수를 익명 함수로 전달하는 과정이 반복되어 코드의 들여쓰기 수준이 헬 수준인 경우로 주로 이벤트 처리 및 서버 통신과 같은 비동기적 작업을 수행할 때 발생한다.

이를 해결하기 위해서 ES6에서 Promise 객체가 등장한다.

📌 Promise 객체

Promise 객체란? 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타낸다. 비동기처리는 약속에 의해 움직이고, 그 약속에 관련된 사항들은 모두 Promise 객체에 담긴다.

1) Promise 객체에 담기는 주요한 상태 정보

  • 대기 (pending)
  • 이행 (fulfilled)
  • 거부 (rejected)

2) Promise 객체 핸들링

  • then/catch (ES6)
axios.get('http://api.naver.com/weather/today')
.then(response => {
	console.log('정상처리 되었습니다 : ' + response);
})
.catch(error => {
	console.log('오류가 발생하였습니다 : ' + error);
})
.finally(()=>{
	console.log('항상 실행되는 부분입니다!');
});
  • async/await (ES7)
const getWeather = async () => {
	try {
		const response = await axios.get('http://api.naver.com/weather/today');
		console.log('정상처리 되었습니다 : ' + response);
	} catch (error) {
		console.log('오류가 발생하였습니다 : ' + error);
	}
}
profile
프론트엔드 개발자를 꿈꾸는

0개의 댓글