[DAY34] 동기/비동기 - Promise, async/await + 예제

1nxeo·2023년 3월 12일

항해99

목록 보기
31/63
post-thumbnail

동기(synchronous)적 방식이란? 현재 실행중인 코드가 끝나야 다음 코드를 실행하는 방식

실행 중인 코드의 완료 여부와 무관하게 즉시 다음 코드로 넘어가는 방식

  • setTimeout, addEventListner 등
  • 별도의 요청, 실행 대기, 보류 등과 관련된 코드는 모두 비동기적 코드
  • 대표적으로 서버 통신과 관련된 로직들 포함
  1. Promise
  • 대기 : pending, 아직 성공(resolve) 또는 실패(rejected)되지 않은 상태
  • 이행 : fulfilled, 정상적으로 데이터를 전달을 성공적으로 해준 상태
  • 거부 : rejected, 데이터를 전달을 못해준 경우

예제

axios.get('http://url.com')
.then(response => {
	console.log('정상처리 되었습니다 : ' + response);
})
.catch(error => {
	console.log('오류가 발생하였습니다 : ' + error);
})
.finally(()=>{
	console.log('항상 실행되는 부분입니다!');
});
  1. async / await
const getWeather = async () => {
	try {
		const response = await(axios.get('http://url.com');
		console.log('정상처리 되었습니다 : ' + response));
	} catch (error) {
		console.log('오류가 발생하였습니다 : ' + error);
	}
}```
profile
항상 피곤한 인서의 개발블로그

0개의 댓글