비동기 작업의 완료 또는 실패를 나타내는 Javscript 객체
const promise = new Promise((resolve, reject) => {
const success = true;
if (success) {
resolve("작업 성공!");
} else {
reject("작업 실패!");
}
});
promise
.then((result) => {
console.log(result); // "작업 성공!"
})
.catch((error) => {
console.error(error); // "작업 실패!"
});
Promise를 기반으로 비동기 작업을 처리하는 문법
Async는 함수 선언 앞에 사용되며, 해당 함수는 항상 Promise를 반환
Await는 Promise가 처리될 때까지 대기
Promise와 결합한 경우 복잡한 체이닝을 단순화 할 수 있음
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);
}
}
fetchData();