私は Nodejs を初めて使用し、この問題を理解するのに苦労しています。配列に対して記述関数を実行しようとしましたが、メイン関数が終了した後に AWS 関数が実行されているようです。
主な機能は次のとおりです: (ACM ARN のリストをループして、ステータスを確認します)
var checkCertStatus = function(resolveObj){
var promise = new Promise(function(resolve, reject){
console.log('1');
var retObj='';
resolveObj.Items.forEach(function(element) {
var certDescribeParams = {
CertificateArn: element.sslCertId
};
console.log('2');
acm.describeCertificate(certDescribeParams, function(err, data) {
if(err) reject(new Error(err));
else {
console.log(data.Certificate.DomainName + ': ' + data.Certificate.Status);
retObj+=data;
}
});
});
console.log('3');
resolve(retObj);
return promise;
})
}
デバッグ ログに基づいて、処理する必要がある項目が 2 つあると仮定すると、次のようになりました。
1
2
2
3
example.com: ISSUED
example2.com: ISSUED
基本的に、この結果をチェーン内の次の関数に渡す必要があります (promise などを使用して)。