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는 코딩 스타일 중 한 가지 방법이라고 생각하면 좋습니다.
출처