Promise를 활용한 데이터 비동기 처리 예시
데이터를 비동기로 처리하는 과정에서 JavaScript Promise는 매우 유용한 도구입니다. Promise는 비동기 작업의 성공 또는 실패를 표현하고, 그 결과를 다른 처리로 전달하는 것을 도와줍니다.
다음은 Promise를 사용하여 데이터를 비동기적으로 처리하는 예시 코드입니다.
function fetchData() {
return new Promise((resolve, reject) => {
// 비동기 작업 수행
setTimeout(() => {
const data = { message: "데이터를 가져왔습니다." };
// 성공적으로 데이터를 가져왔을 경우 resolve 호출
resolve(data);
// 데이터를 가져오지 못했을 경우 reject 호출
// reject(new Error("데이터를 가져오지 못했습니다."));
}, 2000); // 2초 후에 데이터 가져오기 완료
});
}
// Promise 사용하기
fetchData()
.then((data) => {
console.log(data.message); // 데이터 가져오기 성공 시 실행되는 코드
})
.catch((error) => {
console.error(error.message); // 데이터 가져오기 실패 시 실행되는 코드
});
위의 코드에서 fetchData()
함수는 Promise 객체를 생성하고, 비동기 작업을 수행합니다. 그 후, 비동기 작업이 완료되면 데이터를 성공적으로 가져오면 resolve
를 호출하고, 데이터를 가져오지 못했을 경우 reject
를 호출합니다.
이후 .then()
을 사용하여 성공적으로 데이터를 가져왔을 때 실행할 코드와, .catch()
를 사용하여 데이터를 가져오지 못했을 때 실행할 코드를 작성합니다.
이 예시 코드에서는 데이터를 가져오는데 2초가 걸리도록 setTimeout
을 사용하였습니다. 데이터를 성공적으로 가져왔을 때와 실패했을 때 해당하는 메시지가 콘솔에 출력됩니다.
이와 같은 방식으로 Promise를 활용하여 데이터를 비동기적으로 처리할 수 있습니다.
#javascript #promise