【发布时间】:2015-08-07 14:56:19
【问题描述】:
getStuff: function(stuff, callback) {
$http({
method: 'GET',
url: url + "/" + stuff
cache: true
}).success(function(data) {
console.log(data);
callback(data);
});
},
我有上面的代码。我在整个应用程序中多次使用它,但是当我调用它时,我得到的回调不是一个函数。控制台日志(数据);然而,返回适当的对象。有人知道为什么吗?
谢谢
【问题讨论】:
-
你能告诉我们
getStuff的电话 -
是不是你必须将回调传递给子函数.success?到回调被调用时,它没有任何耦合。
-
回调是
getStuff的一个参数,因此您似乎没有将函数传递给该参数 -
消息说明了一切:您将一些不是函数的东西(或者您没有传递任何回调)传递给
getStuff()。无论如何,这不是使用 Promise 的好方法。您不应该将回调传递给 getStuf()。相反,getStuff() 应该返回 promise,调用者应该在返回的 promise 上调用 then() 或 success()。阅读blog.ninja-squad.com/2015/05/28/angularjs-promises
标签: angularjs http callback get