[typescript] Promise를 사용한 타입스크립트 비동기 프로그래밍

Promise를 사용한 타입스크립트 비동기 프로그래밍

타입스크립트에서 비동기 프로그래밍은 흔하고 중요한 부분입니다. Promise는 비동기 코드를 작성하고 처리하는 데 유용한 도구입니다. 이 포스트에서는 Promise를 사용하여 타입스크립트에서 비동기 작업을 수행하는 방법에 대해 살펴보겠습니다.

Promise란 무엇인가요?

Promise는 비동기 작업의 결과 또는 실패를 나타내는 객체입니다. Promise는 세 가지 상태를 가질 수 있습니다: 대기(pending), 이행(fulfilled), 거부(rejected) 상태입니다. 대기 상태의 Promise는 결과가 아직 없는 상태이며, 이행 상태의 Promise는 성공적으로 작업이 완료된 상태를 나타내며, 거부 상태의 Promise는 작업의 실패를 나타냅니다.

Promise 사용하기

Promise를 사용하여 비동기 작업을 수행하려면 new Promise()를 사용하여 Promise 객체를 생성해야 합니다. 보통은 콜백 함수를 받는데, 콜백 함수는 resolvereject 매개변수를 갖습니다. resolve는 작업이 성공적으로 완료되었음을 나타내며, reject는 작업이 실패했을 때 호출됩니다.

아래는 간단한 예제 코드입니다.

function asyncOperation(): Promise<string> {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            const success = true;
            if (success) {
                resolve("Success result");
            } else {
                reject(new Error("Failed"));
            }
        }, 1000);
    });
}

asyncOperation()
    .then(result => {
        console.log(result);
    })
    .catch(error => {
        console.error(error);
    });

위 예제에서 asyncOperation 함수는 Promise<string>을 리턴합니다. new Promise로 Promise 객체를 생성하고, 비동기 작업을 수행한 후 결과를 resolve 또는 실패 시 reject 합니다. 그 후 .then()을 이용해 성공했을 때, .catch()를 이용해 실패했을 때를 처리합니다.

이제 Promise를 사용하여 타입스크립트에서 비동기 작업을 수행하는 방법을 이해했습니다. Promise를 효과적으로 활용하여 코드를 작성해 보세요!

참고: MDN web docs: Promise