[typescript] `async/await` 키워드를 사용하여 프로미스 체이닝을 어떻게 더 쉽게 작성할 수 있나요?
프로미스는 자바스크립트에서 비동기 작업을 처리하는 데 사용됩니다. async/await
키워드를 사용하면 프로미스를 더 쉽게 다룰 수 있습니다.
async
함수 선언
async
키워드를 사용하여 함수를 선언하면 해당 함수는 항상 프로미스를 반환합니다. 이렇게 하면 일반적인 비동기 코드를 작성할 때 프로미스를 직접 다루는 것보다 더 편리하게 작성할 수 있습니다.
async function fetchData() {
// 비동기 작업 수행
return await fetch('https://api.example.com/data');
}
위 코드에서 fetchData
함수는 프로미스를 반환합니다.
await
키워드
await
키워드를 사용하면 프로미스가 settle될 때까지 기다린 후 결괏값을 얻을 수 있습니다. 비동기 작업을 수행하는 부분에서 await
키워드를 사용하면 다음 작업으로 넘어가기 전에 해당 작업이 모두 완료될 때까지 기다립니다.
async function processData() {
const data = await fetchData();
return data.json();
}
위 코드에서 processData
함수는 fetchData
함수가 반환한 프로미스가 settle될 때까지 기다린 후 그 결과를 JSON으로 파싱하여 반환합니다.
에러 핸들링
async/await
를 사용할 때 에러 핸들링도 간편해집니다. try...catch
블록을 사용하여 에러를 쉽게 처리할 수 있습니다.
async function fetchData() {
try {
return await fetch('https://api.example.com/data');
} catch (error) {
// 에러 처리
}
}
async/await
를 사용하면 프로미스 체이닝을 더 간편하게 작성할 수 있습니다. await
키워드를 사용하면 비동기 코드를 동기적으로 작성할 수 있고, 에러 핸들링도 더욱 간단해집니다.
참고 문헌: Mozilla Developer Network