[typescript] `async/await` 키워드를 사용하여 어떤 비동기 작업을 동기적으로 처리할 수 있나요?
TypeScript에서 async/await
키워드를 사용하면 비동기 작업을 동기적으로 처리할 수 있습니다.
async
함수 작성하기
먼저, async
키워드를 사용하여 비동기적인 작업을 수행하는 함수를 만들어야 합니다. 이 함수는 Promise
를 반환하거나 await
키워드를 사용하여 비동기적인 작업을 수행합니다.
예를 들어, 아래와 같이 async
키워드를 사용하여 비동기 작업을 수행하는 함수를 정의할 수 있습니다.
async function fetchData(): Promise<string> {
// 비동기 작업 수행
const data = await fetch('https://example.com/api/data');
return data;
}
위의 예제에서 fetchData
함수는 async
키워드로 정의되었고, Promise
를 반환합니다. 함수 내부에서 await
키워드를 사용하여 비동기적으로 데이터를 가져오고 있습니다.
await
키워드 사용하기
await
키워드는 async
함수 내에서 사용되며, 해당 키워드 뒤에 오는 명령문(주로 Promise
를 반환하는 함수 호출)이 완료될 때까지 기다립니다.
예를 들어, 위의 fetchData
함수를 호출하는 부분은 다음과 같이 작성할 수 있습니다.
async function processData() {
const data = await fetchData();
console.log(data);
}
위의 예제에서 processData
함수는 또 다른 async
함수로 정의되었습니다. fetchData
함수를 호출할 때 await
키워드를 사용하여 데이터가 도착할 때까지 기다립니다.
async/await
를 사용하면 프로미스 체이닝을 보다 간결하게 표현할 수 있고, 코드의 가독성을 향상시킬 수 있습니다.
이와같이 async/await
를 사용하여 TypeScript에서 비동기 작업을 동기적으로 처리할 수 있습니다.
참고 자료: MDN web docs, TypeScript 공식 문서
- 완 -