我声明了以下服务:
app.factory('data', ['$http', function ($http) {
var dataRecords = {};
//Retrieve the entries from the data file and categorize them according
//to the information types located in the overview page
$http.get('data.json')
.success(function (records) {
//Fill the dataRecords variable
});
return {
get: function () {
return dataRecords;
},
setNew: function (newRecords) {
dataRecords = newRecords;
}
};
}]);
可以看出,使用$http
我从 data.json 文件中获取数据。现在我的问题是,当我调用get
数据服务的方法时,即使 data.json 不为空,我也会返回空记录。
据我了解,$http.get()
会延迟返回数据,因此当我调用 get 时,它仍未填充,因此我得到空值。
如何调用服务并确保在从服务中获取数据时填充数据?