[typescript] async와 await 키워드의 역할
JavaScript와 마찬가지로 TypeScript에서도 async와 await 키워드를 사용하여 비동기 작업을 다룰 수 있습니다. async 키워드를 함수 앞에 붙이면 그 함수는 항상 Promise를 반환하게 됩니다. 반면에 await 키워드는 Promise 객체를 기다렸다가 그 결과를 받아올 때까지 함수의 실행을 일시 중지시킵니다.
async 함수
async function fetchData() {
// 비동기 작업 수행
return await fetch('https://api.example.com/data');
}
위 예제에서 fetchData 함수는 항상 Promise를 반환하며, await 키워드를 사용하여 fetch 함수의 결과를 기다립니다.
await 키워드
await 키워드는 Promise가 완료될 때까지 함수의 실행을 일시 중지하고, 그 결과를 받아옵니다.
async function getData() {
let response = await fetchData();
let data = await response.json();
console.log(data);
}
위 예제에서 fetchData 함수를 호출하여 Promise를 받아오고, response.json() 역시 Promise를 반환하므로 await를 사용하여 데이터를 받아옵니다.
async와 await 키워드를 사용하면 Promise를 반환하거나 Promise의 결과를 기다리는 과정을 보다 간단하게 표현할 수 있습니다.
이와 같이 async와 await 키워드는 TypeScript에서 비동기 작업을 보다 간편하게 다룰 수 있도록 도와줍니다.