JavaScript

[모던JS 입문] Promise

RegisterJ 2023. 10. 22. 23:33
기록의 목적 : 잊으면 다시 보기 위해서,하찮은 내 정보가 누군가한테 도움이 되기를 바라며 정리합니다.

 

 

 

Promise

콜백함수 대신 사용하기 위한 문법 입니다. 그리고 콜백함수랑 달리 성공 하거나 실패 했을 때 따로 코드를 실행시킬 수 있습니다.

 

◯ 사용 방법

resolve(성공)면 .then()함수가 실행되고 reject면 .catch()함수가 실행됩니다. 성공, 실패 여부 상관없이 실행하고 싶으면 finally() 사용하면 됩니다.

 

▶ resolve : Promise 실행함수 파라미터에 사용하며 성공일 때 관습적으로 사용합니다.

 

▶reject : Promise 실행함수 파라미터에 사용하며 실패일 때 관습적으로 사용합니다.

 

▶.then() : 성공했을 경우 then함수가 실행됩니다.

 

▶.catch() : 실패했을 경우 catch함수가 실행됩니다.

 

▶.finally() : 성공, 실패 여부 상관 없이 실행 시키는 함수 입니다.

 

예시)

const promise = new Promise(function(resolve, reject){
	resolve();
});

promise.then(function(){
	console.log('성공 입니다!'); // 코드가 성공일 때 console 창에 뜹니다.
}).catch(function(){
	console.log('실패 입니다!'); // 코드가 실패일 때 console 창에 뜹니다.
}

 

◯ 오해

보통 Promise가 비동기적 코드만 실행하거나 동기적 코드를 비동기적 처리로 바꿔주는 것으로 생각합니다 하지만 그건 잘못된 생각입니다. 동기적 비동기적이랑은 상관없습니다. 물론 비동기인 setTimeout(), AJEX, 이벤트 등등 사용할 때 쓰이기는 하지만 그냥 Promise는 코딩 스타일 중 한 가지 방법이라고 생각하면 좋습니다.

 

 

출처

모던 JS 튜토리얼