@@ -23,12 +23,13 @@ const checkChangeStatus = async (awsClient, changeInfo) => {
2323} ;
2424
2525const 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
139139module . exports = {
0 commit comments