我正在使用 Typescript 构建一个 Angular 2 CLI 应用程序,我正在使用 JSZip 库解析带有文本文档的 zip 文件。下面的代码有效,但我从打字稿中得到一些错误:
'{ [key: string] 类型的参数:JSZipObject; }' 不可分配给“JSZipObject[]”类型的参数。
类型 '{ [key: string]: JSZipObject; 中缺少属性 'find' }'。
fileChangeEvent(fileInput){
let files = fileInput.target.files[0];
let zip = new JSZip();
let files = [];
zip.loadAsync(files)
.then(zip => {
async.each(zip.files, function(zipItem, callback) {
zipItem
.async('string')
.then((content) => {
files.push(content);
callback(null);
});
}, function(err) {
if( err ) {
console.log('A file failed to process');
} else {
console.log('All files have been processed successfully');
// do something with parsed files array
}
});
});
}
zip.files
传递给似乎有问题async.each
。
正如我所说,它仅使用 ng serve 即可工作,但除非我摆脱错误,否则无法构建项目。
有谁知道我为什么得到它们?
我可以对 promises/generators/whatever 做同样的事情并跳过 async.each 吗?