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 
     } 
     }); 
    } 
    } 

任何幫助將不勝感激!

+0

該功能在Lambda測試控制檯中工作嗎?該功能需要多長時間來處理? –

+0

它的工作原理是不會拋出錯誤,但它也不會像預期的那樣返回「Invalid api-token」。我一直在控制檯中通過API網關測試儀進行大部分測試。爲了這個,還要通過Lambda測試。 – davis190

+0

抱歉忘了回答您的問題「需要多長時間」。它現在超時了,因爲它不會再回來。 – davis190

回答