Promise를 사용한 타입스크립트 비동기 프로그래밍
타입스크립트에서 비동기 프로그래밍은 흔하고 중요한 부분입니다. Promise는 비동기 코드를 작성하고 처리하는 데 유용한 도구입니다. 이 포스트에서는 Promise를 사용하여 타입스크립트에서 비동기 작업을 수행하는 방법에 대해 살펴보겠습니다.
Promise란 무엇인가요?
Promise는 비동기 작업의 결과 또는 실패를 나타내는 객체입니다. Promise는 세 가지 상태를 가질 수 있습니다: 대기(pending)
, 이행(fulfilled)
, 거부(rejected)
상태입니다. 대기 상태의 Promise는 결과가 아직 없는 상태이며, 이행 상태의 Promise는 성공적으로 작업이 완료된 상태를 나타내며, 거부 상태의 Promise는 작업의 실패를 나타냅니다.
Promise 사용하기
Promise를 사용하여 비동기 작업을 수행하려면 new Promise()
를 사용하여 Promise 객체를 생성해야 합니다. 보통은 콜백 함수를 받는데, 콜백 함수는 resolve
와 reject
매개변수를 갖습니다. 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를 효과적으로 활용하여 코드를 작성해 보세요!