AWS lambda + Javascript Callback

오픈소스·2023년 8월 12일
0
post-thumbnail

AWS lambda 환경에서 callback function의 처리가 온전하지 않을 수 있다.

promise-based function

import Mixpanel from 'mixpanel';

const mixpanel = Mixpanel.init('<TOKEN>');

async function track(event: string, properties: any = {}) {
    return new Promise((resolve, reject) => {
        mixpanel.track(event, properties, (error, result) => {
            if (error) {
                reject(error);
            } else {
                resolve(result);
            }
        });
    });
}

Using util.promisify

import util from 'util';
import Mixpanel from 'mixpanel';

const mixpanel = Mixpanel.init('<TOKEN>');
const trackAsync = util.promisify(mixpanel.track);

track(event: string, properties: any = {}) {
    return trackAsync(event, properties);
}

참고)

1개의 댓글

comment-user-thumbnail
2023년 8월 12일

좋은 정보 감사합니다

답글 달기