gpt4 book ai didi

javascript - 重构 promise 从函数返回

转载 作者:行者123 更新时间:2023-11-30 07:54:44 25 4
gpt4 key购买 nike

我正在使用 JSZip 解压一个异步运行的目录。我想编写一个函数来解压缩文件并返回与其关联的文件,如下所示:

function unzipFile(filename){
const zipper = new jsZip()
return fs.readFile(filename, function(err, data) {
return jsZip.loadAsync(data).then(function(zip) {
return zip.files
})
})
}

但这只是返回undefined。我怎样才能使这个异步,以便它在一个函数中返回解压缩的目录,如果我想设置一个等于它的输出的变量将等待它完成?

最佳答案

您需要首先 promise fs.readFile - 然后只需一个常规的 Promise 链就可以做到这一点

例如

function unzipFile(filename){
return new Promise((resolve, reject) => fs.readFile(filename, function(err, data) {
if(err) {
return reject(err);
}
resolve(data);
}))
.then(data => new jsZip().loadAsync(data))
.then(zip => zip.files);
}

关于javascript - 重构 promise 从函数返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42990563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com