[typescript] async/await를 사용한 람다 함수 처리 방법
이 포스트에서는 TypeScript에서 AWS Lambda 함수를 작성할 때 async/await를 사용하는 방법을 살펴보겠습니다. 이 기술은 비동기 작업을 보다 간편하게 처리하고 코드의 가독성을 높일 수 있습니다.
async/await란?
async
및 await
는 JavaScript 및 TypeScript에서 비동기 작업을 처리하는 데 사용되는 키워드입니다. async
함수는 항상 Promise
를 반환하며, await
는 Promise
가 해결될 때까지 함수의 실행을 일시 중지시킵니다.
TypeScript에서 AWS Lambda 함수 작성
아래는 TypeScript를 사용하여 AWS Lambda 함수를 작성하는 간단한 예제입니다.
import { Context, Handler, APIGatewayEvent } from 'aws-lambda';
export const handler: Handler = async (event: APIGatewayEvent, context: Context) => {
try {
const data = await fetchDataFromExternalAPI();
// 비즈니스 로직 처리
return {
statusCode: 200,
body: JSON.stringify(data),
};
} catch (error) {
return {
statusCode: 500,
body: JSON.stringify({ message: 'Internal Server Error' }),
};
}
};
async function fetchDataFromExternalAPI(): Promise<any> {
// 외부 API에서 데이터를 가져오는 비동기 작업 수행
return new Promise((resolve, reject) => {
// 데이터 가져오기
resolve({ message: 'Data fetched successfully' });
});
}
위 코드에서, handler
함수는 async
키워드로 비동기 함수로 선언되었습니다. 또한 await
키워드를 사용하여 외부 API에서 데이터를 가져오는 비동기 작업을 처리하고 있습니다.
Conclusion
이렇게하면 TypeScript에서 AWS Lambda 함수를 작성하는 동안 비동기 코드를 더 쉽게 처리할 수 있습니다. async
/await
는 코드를 더 명확하게 만들어주고, 오류 처리를 보다 쉽게 할 수 있도록 도와줍니다. AWS Lambda 함수를 작성할 때 이러한 기술을 적극 활용하여 보다 견고하고 유연한 서버리스 애플리케이션을 개발할 수 있습니다.