[typescript] async/await를 사용한 람다 함수 처리 방법

이 포스트에서는 TypeScript에서 AWS Lambda 함수를 작성할 때 async/await를 사용하는 방법을 살펴보겠습니다. 이 기술은 비동기 작업을 보다 간편하게 처리하고 코드의 가독성을 높일 수 있습니다.

async/await란?

asyncawait는 JavaScript 및 TypeScript에서 비동기 작업을 처리하는 데 사용되는 키워드입니다. async 함수는 항상 Promise를 반환하며, awaitPromise가 해결될 때까지 함수의 실행을 일시 중지시킵니다.

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 함수를 작성할 때 이러한 기술을 적극 활용하여 보다 견고하고 유연한 서버리스 애플리케이션을 개발할 수 있습니다.

References