0

我正在使用模块生成一个 zip 文件archiver。在继续之前,我想等待生成 zip 文件。以下是代码的相关部分。

// create a file to stream archive data to.
const archiver = require('archiver');
const fs =  require('fs');

async function zipcsv(zipPath) {
  let output = fs.createWriteStream(zipPath);
  let archive = archiver('zip', {
    zlib: { level: 9 } // Sets the compression level.
  });
  output.on('close', function() {
   return 'zip generating complete';
  });
  archive.pipe(output);
  archive.directory('exports/', false);
  archive.finalize();
}

module.exports.zipcsv = zipcsv;

zip = require('./zipcsv')
await zip.zipcsv(path);
console.log('futher processing');

我在控制台上看到了进一步的处理,并且该过程不会等待 zip 生成并继续。

如何确保生成 zip,然后继续进行进一步处理。

谢谢。

4

1 回答 1

0

您需要在异步函数中使用Promise函数。然后使用resolve和reject而不是return。

于 2020-06-25T12:47:04.660 回答