비동기 작업 처리: Promise는 비동기 작업의 최종 결과를 나타내는 객체입니다. 이를 통해 콜백 지옥 문제를 해결할 수 있습니다.3가지 상태: Promise는 대기(pending), 이행(fulfilled), 거부(rejected) 상태 중 하나를 가집니다.then(), catch() 메서드: Promise 객체는 then()과 catch() 메서드를 제공하여 비동기 작업의 결과를 처리할 수 있습니다.
javascript// Promise 생성
const myPromise = new Promise((resolve, reject) => {
// 비동기 작업 수행
setTimeout(() => {
resolve('Success!');
}, 2000);
});
// Promise 사용
myPromise
.then((result) => {
console.log(result);// 'Success!' 출력
})
.catch((error) => {
console.error(error);
});
위 예시에서는 Promise 객체를 생성하고, 비동기 작업인 setTimeout()을 수행합니다. 작업이 성공하면 resolve() 함수를 호출하고, 실패하면 reject() 함수를 호출합니다. 그 후 then()과 catch() 메서드를 사용하여 결과를 처리합니다.
Promise는 비동기 작업을 더 쉽게 처리할 수 있게 해줍니다.async/await 문법은 Promise를 더 쉽게 사용할 수 있게 해줍니다.Promise는 콜백 지옥 문제를 해결하고 코드의 가독성을 높일 수 있습니다.
종합적으로 JavaScript에서 Promise는 비동기 작업을 처리하는 강력한 도구입니다. 이를 이해하고 활용하면 더 효과적인 비동기 프로그래밍을 할 수 있습니다.