Skip to content

Commit 8e7cde8

Browse files
committed
improve waitForChange
1 parent 422a872 commit 8e7cde8

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

lib/route53.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,13 @@ const checkChangeStatus = async (awsClient, changeInfo) => {
2323
};
2424

2525
const waitForChange = async (checkChange) => {
26-
const isChangeComplete = await checkChange;
26+
const isChangeComplete = await checkChange();
2727

2828
if (isChangeComplete) {
2929
return isChangeComplete
3030
} else {
31-
await setTimeout(waitForChange, 1000);
31+
await new Promise(r => setTimeout(r, 1000));
32+
return await waitForChange(checkChange, serverless);
3233
};
3334
};
3435

@@ -103,8 +104,7 @@ const setupCertificate = async (serverless, domainName) => {
103104
return certificaterequest.DomainValidationOptions[0].ResourceRecord
104105
},
105106
// sometimes the ResourceRecord entry isn't immediately available, so we wait until it is
106-
// the anonymous function given to waitForChange has to call itself after waitForChange returns it so we get the value
107-
certificateResourceRecord = await (await waitForChange(() => getCertificateRecord(serverless, domainName)))(),
107+
certificateResourceRecord = await waitForChange(() => getCertificateRecord(serverless, domainName)),
108108
changeRecordParams = {
109109
HostedZoneId: hostedZone.Id,
110110
ChangeBatch: {
@@ -131,9 +131,9 @@ const setupCertificate = async (serverless, domainName) => {
131131
await waitForChange(() => checkChangeStatus(awsClient, changeRecordResult.ChangeInfo));
132132

133133
// wait for issued certificate
134-
await waitForChange(() => getCertificateArn(serverless, domainName));
135-
134+
const certificateArn = await waitForChange(() => getCertificateArn(serverless, domainName));
136135
serverless.cli.log(`Certificate for ${domainName} successfully issued.`, entity);
136+
return certificateArn;
137137
};
138138

139139
module.exports = {

0 commit comments

Comments
 (0)