1
我已經在我的AngularJS應用程序中創建了一個工廠,用於在對服務器的一個或多個元素執行刪除之後從服務器中引入刷新的數據列表。
var myApp = angular.module('app');
myApp.factory('mvListRefresher', function($http) {
return {
refreshCourses : function() {
var list = new Array();
$http.get('/api/courses').then(function(response) {
console.log('got refreshed lists');
console.log(response.data);
list = response.data;
}, function(error) {
console.log('error in retreiving fresh lists');
console.log(error);
});
console.log('Displaying list of courses');
console.log(list);
if(list.length != 0) {
return list;
}
}
}
});
我通過調用
$scope.courses = mvListRefresher.refreshCourses();
調用這個廠我的控制器之一,但我得到一個空列表,即我沒有得到任何回報價值可言。在我廠的功能我觀察到線
console.log(list);
總是打印出一個空數組,但是行
console.log(response.data);
這是成功回調版畫內而外對象的完整列表正確。我不知道這是如何發生的。我對AngularJS的承諾相對陌生,它是異步的方法和架構。請幫助我。如果您需要更多信息,我會提供。我已經使用MEAN完成了整個應用程序。提前致謝!