[typescript] 타입스크립트에서 비동기 작업을 처리하기 위해 어떤 라이브러리를 사용할 수 있나요?
Promise 기반 비동기 작업 처리
TypeScript에서 비동기 작업을 처리하는 가장 기본적인 방법 중 하나는 Promise를 사용하는 것입니다. Promise는 비동기 작업의 결과를 나타내는 객체로, 성공 또는 실패 시에 각기 다른 처리를 할 수 있습니다.
아래는 Promise를 사용하여 비동기 작업을 처리하는 간단한 예제 코드입니다.
function fetchData(): Promise<string> {
return new Promise((resolve, reject) => {
// 비동기 작업 수행
setTimeout(() => {
const data = "비동기 작업 완료";
resolve(data); // 성공 시에는 resolve 호출
}, 1000);
});
}
// Promise를 활용한 비동기 작업 처리
fetchData()
.then((result) => {
console.log(result); // 성공 시의 처리
})
.catch((error) => {
console.error(error); // 실패 시의 처리
});
Async/Await 문법 활용
또한 Async/Await 문법을 사용하여 비동기 작업을 보다 간결하고 가독성 있게 처리할 수 있습니다. 이를 활용하면 Promise를 좀 더 쉽게 다룰 수 있습니다.
아래는 Async/Await를 사용하여 동일한 비동기 작업을 처리하는 예제 코드입니다.
async function fetchData(): Promise<string> {
return new Promise((resolve, reject) => {
// 비동기 작업 수행
setTimeout(() => {
const data = "비동기 작업 완료";
resolve(data); // 성공 시에는 resolve 호출
}, 1000);
});
}
// Async/Await를 활용한 비동기 작업 처리
async function fetchDataAndLog() {
try {
const result = await fetchData();
console.log(result); // 성공 시의 처리
} catch (error) {
console.error(error); // 실패 시의 처리
}
}
fetchDataAndLog();
위의 예제 코드에서 fetchData
함수의 반환 타입으로 Promise
를 명시하여 비동기 작업의 결과를 나타내도록 하였고, async
함수와 await
키워드를 사용하여 해당 Promise 객체가 처리될 때까지 기다렸다가 결과를 받아와서 처리할 수 있습니다.
위 방법들을 사용하여 비동기 작업을 처리할 수 있으며, 특별한 라이브러리 없이도 TypeScrit에서 비동기 작업을 효율적으로 다룰 수 있습니다.
참고 문헌: