return deferred.promise;并返回deferred.promise();

时间:2015-05-04 06:54:57

标签: javascript angularjs

我在Angular应用程序中尝试promises,发现行为不同,代码略有不同......

为了更好地理解,有人可以投入一些光。

之间的区别
return deferred.promise;  // This is working for me.

return deferred.promise(); // This is not resolving the promise

谢谢

1 个答案:

答案 0 :(得分:2)

在angularjs中,$q服务承诺作为一个属性而不是一个方法,这就是为什么第一个工作而第二个不工作的原因。

我认为您的控制台可能有TypeError: diferred.promise is not a function

之类的错误

在jQuery中,deferred object有一个名为promise()的方法,因此您需要调用deferred.promise();,我认为您在这两个方法之间存在困惑