[英]AngularJS factory service returns 'undefined'
我已經嘗試過其他具有相同問題的答案,但是沒有一個起作用。 我在打電話給我的工廠時遇到問題,我得到了undefined
回報。
控制器(main.js):
app.controller('MainCtrl', ['$scope','beamAPI', function($scope, beamAPI){
$scope.debug = 'Debug True';
$scope.beamFollowers = 1;
console.log(beamAPI('amtraxtge'));
}]);
工廠(beam.js):
app.factory('beamAPI', function($http) {
var APIuser = {};
APIuser = function(user) {
$http.get('https://beam.pro/api/v1/channels/' + user).
then(function(res){
console.log(res.data);
return res.data;
});
}
return APIuser;
});
安慰:
undefined main.js:4
► Object beam.js:6
您的APIuser()
不返回任何內容。 您需要返回promise,並在控制器中等待promise解析,然后再分配或記錄任何數據
在工廠
APIuser = function(user) {
// return $http promise
return $http.get('https://beam.pro/api/v1/channels/' + user).
then(function(res){
console.log('Factory log',res.data);
return res.data;
});
}
在控制器中
beamAPI('amtraxtge').then(function(data){
$scope.someProperty = data;
console.log('Controller log',data);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.