如何将上下文传递给Javascript承诺

我将第一个承认,我并不总是得到JS Promises。因此,如果这是一个愚蠢的问题,我事先表示歉意。 =)根据下面的代码,我需要在包含此函数的类中设置一个属性(即,我需要在fullfullment方法内调用“ this”,并将其返回给该类。

我看到了一些与设置上下文有关的东西,但是它们也需要闭包(()=> {... code ..}),这些闭包在Internet Explorer中不能很好地工作。而且,我们可以讨厌我们想要的所有浏览器,但是到最后,它要求此代码在IE中有效。

所以我今天的问题是,如何获得传递给以下方法的 this 的引用?

var result = this.saveChanges();

return Promise.resolve(result).then(function (value) {
    return value.HasError === false;
},function (value) {
   if (value && value.responseJSON) {
       return value.responseJSON.HasError === false;
   }
   return false;
});

您的帮助将得到极大的赞赏。

justcc 回答:如何将上下文传递给Javascript承诺

您可以声明一个引用此变量的变量,并在函数中使用它。

var self = this;
var result = this.saveChanges();

return Promise.resolve(result).then(function (value) {
    self.someProperty = true;
    return value.HasError === false;
},function (value) {
   if (value && value.responseJSON) {
       return value.responseJSON.HasError === false;
   }
   return false;
});
本文链接:https://www.f2er.com/2755374.html

大家都在问