Я здесь с такой же / схожей проблемой в понимании асинхронных вызовов в AWS Lambda Node 8.10.Ниже мой код.Он работает, но не так, как я хочу.Я пытаюсь получить заголовок HTTPS и соответствующий сертификат SSL.Если я запускаю лямбду один раз, она запускается успешно, но данных нет.Если я проверяю это снова и снова, один из возвратов возвращается и выводит getPeerCertificate в журнал.
Здесь я чешу голову ... определена функция обратного вызова res
.Я полагаю, что происходит то, что лямбда исчезает, прежде чем вызывается обратный вызов из request
.Я изо всех сил пытаюсь сохранить лямбду, чтобы дождаться возвращения из запроса.Я пытаюсь сделать это как можно меньше (без дополнительных модулей).Есть какие-нибудь асинчеры, которые могут помочь?
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);
}
};