Angular 6 Typescript函数无法全局更新全局变量

时间:2018-09-09 14:02:34

标签: javascript angular typescript

我正在使用Angular 6.0.3,并在将文件上传到ipfs守护程序时尝试使用进度处理程序。该文件已正确上载,但是我在处理程序中使用的变量未在handler()函数外部更新。这两个功能都包含在一个组件中。

我认为这是一个棘手的Typescript / javascript范围问题,但我似乎无法弄清楚。有人有指针吗?

//we have a global variable that we use to check if we have started uploaded
isUploading = false;

这是uploadFile函数

uploadFile() {

  //We load data into a buffer
  const buf = new Buffer("string");

  //Then we write the buffer to the ipfs daemon
  this.ipfs.files.add(buf, {progress:this.handler})
    .then((result) => {
      console.log("Result isUploading = " + this.isUploading);
    })
    .catch((err) => {
      console.log(err)
    });
}

这是处理程序函数

handler (p) {
  this.isUploading = true;
  console.log("Handler isUploading = " this.isUploading);
}

明确地, isUploading 值在 handler()函数中为true,在 uploadFile()函数中为false!

0 个答案:

没有答案