0
我在使用lambda中的回調在API網關中發送響應時遇到了問題。我正在嘗試構建一個與MySQL數據庫交互的簡單應用程序。相關的代碼片段如下。無法用nodejs,aws lambda和aws api調用回調網關
問題是,即使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
}
});
}
}
任何幫助將不勝感激!
該功能在Lambda測試控制檯中工作嗎?該功能需要多長時間來處理? –
它的工作原理是不會拋出錯誤,但它也不會像預期的那樣返回「Invalid api-token」。我一直在控制檯中通過API網關測試儀進行大部分測試。爲了這個,還要通過Lambda測試。 – davis190
抱歉忘了回答您的問題「需要多長時間」。它現在超時了,因爲它不會再回來。 – davis190