我有这个简单的函数js getItems(),我调用了一个服务items.getItems(..), 我希望该函数返回一个数据。我试图将var与函数关联,但结果是未定义的
function getItems() {
var resolvedValue;
var deferred = $q.defer();
items.getItems(function(data) {
deferred.resolve(data);
});
deferred.promise.then(function(result) {
resolvedValue=result; // it contains my information
});
console.log('v alue%0' , resolvedValue); // it's undefined here!!!
}
答案 0 :(得分:0)
items.getItems
是异步的,因此您必须使用$q.promise
function getItems() {
var deferred = $q.defer();
items.getItems(function(data) {
deferred.resolve(items);
});
return deferred.promise;
}
在此处阅读更多http://docs.angularjs.org/api/ng。$ q