diff --git a/src/storage/gcs.js b/src/storage/gcs.js index ece3d2ef5..e142b3e12 100644 --- a/src/storage/gcs.js +++ b/src/storage/gcs.js @@ -167,7 +167,7 @@ function copy(apiConfig, oldFilePath, newFilePath) { async.eachLimit(entries, concurrency, copyFile, done); }, function (error) { events.emit('progress', `Copied ${total} files`); - events.emit('done', error); + process.nextTick(() => events.emit('done', error)); }); return events; @@ -207,7 +207,7 @@ function removeDir(apiConfig, pathPrefix) { }, function (error) { events.emit('progress', `Deleted ${total} files`); - events.emit('done', error); + process.nextTick(() => events.emit('done', error)); }); return events; diff --git a/src/storage/s3.js b/src/storage/s3.js index c05362be1..81de6207b 100644 --- a/src/storage/s3.js +++ b/src/storage/s3.js @@ -324,7 +324,7 @@ function copy(apiConfig, oldFilePath, newFilePath) { }, function (error) { events.emit('progress', `Copied ${total} files with error: ${error}`); - events.emit('done', error); + process.nextTick(() => events.emit('done', error)); }); return events; @@ -364,7 +364,7 @@ function removeDir(apiConfig, pathPrefix) { var total = 0; getS3Config(apiConfig, function (error, credentials) { - if (error) events.emit('done', error); + if (error) return process.nextTick(() => events.emit('done', error)); var s3 = new AWS.S3(credentials); @@ -397,7 +397,7 @@ function removeDir(apiConfig, pathPrefix) { }, function (error) { events.emit('progress', `Removed ${total} files`); - events.emit('done', error); + process.nextTick(() => events.emit('done', error)); }); });