承诺函数中的全局变量归因

时间:2018-11-27 11:00:00

标签: javascript angular typescript promise angular-promise

我试图在Angular项目中插入toDataurl函数,以便我们将资产图片转换为base64字符串。

toDataURL(url) {
  var promise = new Promise(function (extract) {
    var xhr = new XMLHttpRequest();
    xhr.open('get', url);
    xhr.responseType = 'blob';
    xhr.onload = function() {
      var fr = new FileReader();
      var test = fr.onload = function() {
        extract(this.result);
        return this.result;
      };
      fr.readAsDataURL(xhr.response); // async call
    };
    xhr.send(); 
  });
  return promise;
}

我尝试将其结果确定为base64result函数中的全局变量promise。但是此变量的行为类似于局部变量。我需要它以备后用。

this.toDataURL(chemin).then((result) => {
  this.base64result=result
});

谢谢

0 个答案:

没有答案