Я пытаюсь использовать AWS lambda вместе с классами ECMA6 в nodejs.В настоящее время мой код выглядит следующим образом (упрощенная версия того, что я действительно хочу сделать):
class testClass {
constructor(str) {
this.str = str;
}
async handler(event) {
return {
statusCode: 200,
body: this.str,
};
}
}
module.exports = new testClass('test');
При локальном тестировании с помощью
const testClass = require('./testClass');
const result = await testClass.handler();
Он работает, как ожидалось, но когда я добавляюэто к лямбда-функции и вызову ее, она возвращает
{
"errorMessage": "Cannot read property 'str' of undefined",
"errorType": "TypeError",
"stackTrace": [
"handler (/var/task/index.js:9:24)"
]
}
Так что кажется, что конструктор класса не вызывается в лямбда-контексте.Любая идея, почему это так и как обойти эту проблему?