Promise 와 Async/await

KanDohyung·2024년 12월 15일

개념정리

목록 보기
19/28

Promise

비동기 작업의 완료 또는 실패를 나타내는 Javscript 객체

  • 3가지 대기상태 존재
    • Pending : 대기중
    • Fulfilled : 성공(then)
    • Rejected : 실패(catch)
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); // "작업 실패!"
    });

Async/Await

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();

0개의 댓글