我具有以下功能,该功能可以接收zip流,解压缩并将其上传到S3:
export const unzipAndUpload = async (stream) =>
stream
.pipe(unzipper.Parse())
.on("entry", async entry => {
await uploadToS3(
await entry.buffer(),
entry.path
);
console.log("ENTRY", entry.path)
entry.autodrain();
})
.on("finish", () => {
console.log("FINISH")
})
.promise();
当前首先调用FINISH
,然后继续打印ENTRY
日志。
我如何才能真正确定流是否真的结束? uploadToS3
需要一个缓冲区,因此我需要await
并同步执行某些操作-很好。但是,如何确定所有文件都已上传?
提前谢谢!