我嘗試請求服務中的某些數據。我想確保數據保存在服務的變量中,因爲由於狀態的改變,我的控制器會一直重新加載,並且只有在網站加載時我才需要數據。從服務獲取異步數據
app.service('resultDeals',['$translate','$cookies','$http',
function($translate,$cookies,$http) {
var currentOrigin = {};
var originsUser={};
return {
loadOrigins:function() {
$http.get('app/deals/deal.json').success(function(response){
console.log(response);
originsUser = response.data;
return originsUser
}).error(function(err){
console.log(err);
});
},
userOrigin:originsUser
};
}]);
和我的控制器看起來如下
console.log(resultDeals.loadOrigins());
$scope.updateOrigins=resultDeals.loadOrigins();
的問題是,resultDeals.loadOrigins()
永遠是不確定的。
我想確保將從loadOrigins()獲得的數據存儲在服務變量中,並且只在需要時才從控制器訪問它,以便在不必再獲取控制器重新加載數據的時候。
我該怎麼做?
感謝您的回覆。那不會返回'$ http.get(...)。然後(...)。錯誤不是函數'? – Dribel
@ user3383709因爲'.then'沒有'.error'方法.. –
絕對正確...感謝您的幫助 – Dribel