我正在使用模块archiver
生成一个zip文件。 我想等待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,然后继续进行进一步的处理。
谢了。
需要在异步函数中使用Promise函数。 然后使用resolve和reject而不是return。