【发布时间】:2015-09-15 16:07:28
【问题描述】:
我正在尝试使用 AJAX 引入一些数据,然后在将结果发送到控制器之前对其进行修改。我让这一切都在控制器中工作,但有人告诉我最好在服务中完成。
app.factory('GameweekJsonFactory', ['$http',function($http){
var promise;
var service = {
async: function() {
if ( !promise ) {
promise = $http.get('jsons/gameweeks.json').then(function(response){
return response.data
});
}
return promise;
}
}
return service;
}]);
然后在另一个工厂中,我想根据 AJAX 调用的响应更改变量的值。 (例如,如果按日期是第 6 场比赛,我希望 gwk 等于 6)。
app.factory('GameweekFactory',['GameweekJsonFactory',function(GameweekJsonFactory) {
var gwk;
var obj = {
foo: function(){
GameweekJsonFactory.async().then(function(d){
//Code here to find out the current gameweek.
gwk = 6;
return gwk;
});
}
};
return gwk;
}]);
controller: function(GameweekFactory){
console.log('Controller Log '+GameweekFactory)
},
然后如何修改工厂范围内的原始 gwk 变量?我无法解决,而且我已经在谷歌上搜索了很长时间!
【问题讨论】:
标签: javascript ajax angularjs callback