承诺然后和AngularJS中的绑定有什么区别?

时间:2016-03-11 14:34:22

标签: javascript angularjs angular-promise

我想知道AngularJS中这两个服务有什么区别。两者都有承诺,基本上都是有效的。

具有自变量的方法:

module.exports = function () {
var self = this,
    data = false;

self.someFunction = function () {
    methodFromAnotherService().then(function (reponse) {
        data = response;
    });
};
};

带绑定的方法:

module.exports = function () {
var data = false;

this.someFunction = function () {
    methodFromAnotherService().then(function (reponse) {
        data = response;
    }.bind(this));
};
};

如果没有绑定,那么第二个不起作用。我知道这与范围有关。请提供有关主要差异的任何有用信息。

1 个答案:

答案 0 :(得分:1)

Promise对象用于延迟和异步计算。承诺代表尚未完成的操作,但预计在未来。

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise

bind()方法创建一个新函数,在调用时,将其this关键字设置为提供的值,并在调用新函数时提供任何前面提供的给定参数序列。

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_objects/Function/bind