【发布时间】:2015-01-08 10:03:31
【问题描述】:
如何使用我的函数等待 $http 请求完成?
我的services.js 如下所示:
var app = angular.module('starter.services', []);
app.factory('Deals', function($http) {
function getDeals() {
$http.get('http://www.domain.com/library/fct.get_deals.php')
.success(function (data) {
var deals = data;
return deals;
})
.error(function(err){
});
}
return {
all: function() {
return getDeals();
},
get: function(keyID) {
//...
}
}
});
我的controllers.js 看起来像:
var app = angular.module('starter.controllers', []);
app.controller('DealCtrl', function($scope, Deals) {
$scope.deals = Deals.all();
console.log($scope.deals);
});
我的controllers.js 文件中的console.log 输出“未定义”,但是当我在getDeals() 函数中输出交易时,它包含我从服务器获取的正确数组。
我做错了什么?
【问题讨论】:
标签: javascript angularjs oop