Angular 读取zip文件内容并将其分配给局部变量

Angular 读取zip文件内容并将其分配给局部变量,angular,typescript,Angular,Typescript,我想读取包含多个文件的zip文件的内容,合并所有文件的内容并将其分配给局部变量。但局部变量不在以下代码的范围内: const jsZip = require('jszip'); jsZip.loadAsync(fileList[0]).then(function (zip) { Object.keys(zip.files).forEach(function (filename) { zip.files[filename].async('string').then(func

我想读取包含多个文件的zip文件的内容,合并所有文件的内容并将其分配给局部变量。但局部变量不在以下代码的范围内:

const jsZip = require('jszip');
  jsZip.loadAsync(fileList[0]).then(function (zip) {
    Object.keys(zip.files).forEach(function (filename) {
      zip.files[filename].async('string').then(function (fileData) {
         this.fileData = this.fileData + '**$$##$$**' + fileData;
      });
    });
  });

此处未定义“this”,因为它是在jszip上下文中执行的。还尝试了“jszip同步”,但没有成功。非常感谢您的帮助。

只需将所有
函数(){}
更改为
()=>{}

const jsZip = require('jszip');
  jsZip.loadAsync(fileList[0]).then((zip) => { // <----- HERE
    Object.keys(zip.files).forEach((filename) => { // <----- HERE
      zip.files[filename].async('string').then((fileData) => { // <----- HERE
         this.fileData = this.fileData + '**$$##$$**' + fileData;
      });
    });
  });
constjszip=require('jsZip');

loadAsync(文件列表[0])。然后((zip)=>{/{///{//虽然这可能会解决问题,但最好解释一下原因。这样,未来的读者可能会学到一些东西,而不是毫无意义地复制粘贴代码。@LazarLjubenović,这就是为什么我提供了关于胖箭头的链接,因为这是angular的常见问题,我还要补充一些explanation@LazarLjubenović,给你,谢谢或者引导我。