我正在尝试使用archive.extractFiles函数来获取路径和文件。此函数不等待列表数组填充,而是立即返回空数组。
import {Archive} from 'libarchive.js/main.js';
Archive.init({
workerUrl: '/libarchive.js/dist/worker-bundle.js'
});
public async getFileAndPath(fileList) {
const list = [];
console.log(fileList);
const archive = await Archive.open(fileList);
await archive.extractFiles(async entry => {
console.log(entry);
list.push(entry);
});
// console.log(obj);
return list;
}
How to make this function wait inside extractFiles.
我认为回调函数不应该是异步的——你应该只做
await archive.extractFiles(entry => {
console.log(entry);
list.push(entry);
});
BTW如果你需要整个阵列,你可以只使用
return await archive.getFilesArray();