私はNodejsを初めて使い、この問題を理解するのに問題があります。配列に対してdescribe関数を実行しようとしましたが、AWS関数はmain関数の終了後に実行されているようです。ループスルーAWSラムダNodejs SDK関数
は、ここでの主な機能です:2つの項目を処理する必要があるデバッグログに基づいて(ACM ARNSのリストスルーループとステータスを確認してください)
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;
})
}
、と仮定すると、私が得たもの:
1
2
2
3
example.com: ISSUED
example2.com: ISSUED
基本的に、私はこの結果をチェーンの次の関数(約束事)に渡す必要があります。
私は 'resolve' /' .map'コンボではなく、 'Promise.map(items、)'を使うことができます.は上記の '.map'の引数です。それは基本的に略記です。 –