[javascript] 프로미스의 then 메소드와 resolve, reject 함수 활용 방법
resolve 함수는 프로미스가 성공적으로 처리되었을 때 호출됩니다. 이 함수는 그 이후의 then 메소드로 넘어가며, 인자로 성공 결과를 전달합니다. reject 함수는 프로미스 처리 중 에러가 발생했을 때 호출됩니다. 이 함수는 then 메소드의 catch 함수로 이동하며, 에러 메시지를 인자로 받습니다.
아래는 프로미스의 then 메소드와 resolve, reject 함수를 활용한 예제입니다.
function fetchData() {
return new Promise((resolve, reject) => {
// 비동기 작업 수행
setTimeout(() => {
const data = { name: 'John', age: 30 };
// 성공적으로 데이터를 가져왔을 때 resolve 함수 호출
resolve(data);
}, 2000);
});
}
fetchData()
.then((result) => {
// 데이터 처리 로직
console.log(result);
})
.catch((error) => {
// 에러 처리 로직
console.error(error);
});
위의 예제에서 fetchData 함수는 Promise 객체를 반환합니다. 비동기 작업을 수행하고 난 후, 성공적으로 데이터를 가져온 경우 resolve 함수를 호출합니다. then 메소드를 통해 결과값을 처리하고, catch 메소드를 통해 에러를 처리합니다.
이렇게 then 메소드와 resolve, reject 함수를 사용하면 프로미스를 효과적으로 다룰 수 있습니다. 자바스크립트의 비동기 처리를 할 때는 프로미스를 활용하면 코드의 가독성과 유지보수성을 높일 수 있습니다.
참고 자료: