繁体   English   中英

无法使用Node.js,AWS Lambda和AWS API网关调用回调

[英]Can't call callback with nodejs, aws lambda and aws api gateway

我无法在lambda中进行回调以在API Gateway中发送响应。 我正在尝试构建一个与MySQL数据库交互的简单应用程序。 下面是相关代码段。

问题是,即使validateToken将返回错误,并且我将看到console.log消息,完成/回调也将永远不会向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
        }
      });
    }
  }

任何帮助将不胜感激!

原来我的问题与此处发布的问题相同。

AWS Lambda函数从不调用回调

我试图通过删除mysql部分来简化代码,但没有意识到那是导致问题的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM