0
我有一个角度控制器应该从数据库获取产品,然后对它们执行一些操作。控制器有一个功能,其中有另一个功能。我怎样才能将从嵌套功能收到的数据返回给控制器?我尝试过几乎所有我能想到的事情,似乎没有任何工作。如何从控制器中的嵌套函数返回数据
search.controller('SearchResultsController', function($scope, $routeParams, $http){
$scope.getAllProducts = function(){ //function 1
var config = {
method: "GET",
url: '/products',
headers: {"Content-Type": "application/json;charset=utf-8"}
};
$http(config).then(function(response) { //function 2
$scope.allProducts = response.data;
console.log($scope.allProducts) // correctly prints products fetched from server
});
$scope.getAllProducts();
console.log($scope.allProducts); //prints undefined
};
};
所以你想同步调用异步方法?你不能。遵守承诺。 – Casey
您可以使用$ q异步运行函数,并在完成处理时返回值(或例外)。 – nutboltu