[英]Unable to access $http response data in Angular JS factory
我試圖將$http
響應數據保存在angularJS工廠內部的變量中。 但是我無法在http方法之外訪問響應。 顯示為undefined
。 我檢查了此鏈接將$ scope注入角度服務function()請讓我知道如何處理。 下面是工廠代碼:
angular.module('myapp') .factory('CardNumberFactory',['$http', function ($http) { // Service logic var details={}; $http.get('scripts/services/mock.json') .then(function(responce){ var resopnceData = responce.data; details=resopnceData; }); console.log(details); return {details:details}; }]);
因為$ http服務是異步的。 您應該這樣做:
angular.module('myapp')
.factory('CardNumberFactory',['$http', function ($http) {
var details={};
function getData() {
return $http.get('scripts/services/mock.json')
.then(function(response){
return {details: response.data}
});
}
return {
getData: getData
}
}]);
angular.module('myapp').controller('TestController, function($scope,CardNumberFactory) {
CardNumberFactory.getData().then(function(res) {
// res is the {details} object
})
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.