我无法在lambda中进行回调以在API网关中发送响应。我正在尝试构建一个与MySQL数据库交互的简单应用程序。 Relevent代码段如下所示。
问题是即使validateToken将返回错误,我将看到console.log消息,done / callback将永远不会向api网关发送预期的响应,并将继续处理它之后的任何代码。
exports.handler = (event, context, callback) => {
const done = (err, res) => callback(null, {
statusCode: err ? '400' : '200',
body: err ? err.message : JSON.stringify(res),
headers: {
'Content-Type': 'application/json',
},
});
if (event.path.match(/myApi\/workers\/*/)) {
// Validate Token
token.validateToken(pool, event.headers, function(err, result) {
if (result.status == 'error') {
console.log('Made it to here')
done({"message": "Invalid api-token"}, null);
} else {
// Proceed with fetching workers
}
});
}
}
非常感谢任何帮助!
答案 0 :(得分:0)