【发布时间】:2018-11-13 09:14:27
【问题描述】:
在理解 AWS Lambda Node 8.10 中的异步调用时,我遇到了相同/类似的问题。下面是我的代码。它运行,但不是我想要的。我正在尝试获取 HTTPS 标头和相关的 SSL 证书。如果我运行一次 lambda,它会成功运行,但没有数据。如果我一遍又一遍地测试它,返回之一会返回并将 getPeerCertificate 输出到日志中。
这是我挠头的地方...定义了一个回调函数res。我相信正在发生的事情是 lambda 在从 request 调用回调之前消失了。我正在努力使 lambda 保持活动状态以等待请求的返回。我试图使这个尽可能小(没有额外的模块)。有没有可以提供帮助的异步器?
exports.handler = async (event) => {
console.log(event);
var https = require('https');
var options = {
method: 'HEAD',
hostname: 'google.com',
port: 443,
path: '/'
};
try {
var req = https.request(options, (res) => {
console.log(res.connection.getPeerCertificate());
});
req.end();
} catch (err) {
console.error(err);
}
};
【问题讨论】:
标签: node.js amazon-web-services async-await aws-lambda