Rob*_*Rob 1 javascript asynchronous async-await
我正在使用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
})
})
}
Run Code Online (Sandbox Code Playgroud)
但这只是回归undefined.我如何使这个异步,以便它在单个函数中返回解压缩的目录,如果我想设置一个等于其输出的变量将等待它的完成?
你需要首先宣传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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
308 次 |
| 最近记录: |