gpt4 book ai didi

javascript - AngularJS工厂服务返回 'undefined'

转载 作者:行者123 更新时间:2023-12-02 14:26:47 25 4
gpt4 key购买 nike

我尝试过解决相同问题的其他答案,但没有一个有效。我在调用工厂时遇到问题,但收到 undefined 返回。

Controller (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 并在 Controller 中等待 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;
});
}

在 Controller 中

beamAPI('amtraxtge').then(function(data){
$scope.someProperty = data;
console.log('Controller log',data);
});

关于javascript - AngularJS工厂服务返回 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38175823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com