javascriptCopy code
const fetchData = new Promise((resolve, reject) => {
// 비동기 작업 수행
setTimeout(() => {
const success = Math.random() > 0.5;
if (success) {
resolve('Data fetched successfully!');
} else {
reject(new Error('Failed to fetch data.'));
}
}, 1000);
});
// 사용
fetchData
.then(data => console.log(data))
.catch(error => console.error(error.message));
javascriptCopy code
async function fetchData() {
try {
// 비동기 작업 수행
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error.message);
}
}
// 사용
fetchData();
javascriptCopy code
// Promise
fetchData()
.then(data => console.log(data))
.catch(error => console.error(error.message));
// Async / Await
async function fetchData() {
try {
const data = await fetchDataPromise();
console.log(data);
} catch (error) {
console.error(error.message);
}
}
Async / Await은 코드를 더 읽기 쉽게 만들어주며, 에러 처리도 일반적인 try...catch 구문을 사용해 보다 명확하게 할 수 있다.