我正在解析一个 zip 文件,其中包含我想在filesFromZip
对象中使用 blobURL 引用的图像,并使用 ngFor 对其进行迭代以在页面上显示图像。
看起来像这样
filesFromZip = {};
let zip = new JSZip();
zip.loadAsync(zipfileFromInput)
.then(function (zip) {
for (let file in zip.files) {
let fileInZip = zip.files[file];
zip.file(fileInZip.name)
.async("arraybuffer")
.then(function (content) {
let buffer = new Uint8Array(content);
let blob = new Blob([buffer.buffer]);
// here is where I want to push this object into the filesFromZip object somehow....
return {
fileName: fileInZip.name,
blobURL: URL.createObjectURL(blob)
};
});
}
});
在模板中:
<md-card *ngFor="let file of filesFromZip">
<h3 md-line>{{file.fileName}}</h3>
<img src="{{file.blobURL}}">
</md-card>
如何从 promise 中获取数据filesFromZip
?
我试图将它推入,filesFromZip
但这给了我这个错误:
error_handler.js:47 例外:未捕获(承诺中):TypeError:无法读取 null 的属性“异步”
我真的在为异步性和 Angular 2 苦苦挣扎。谁能把我送到正确的方向?