内部$http调用完成后执行函数-AngularJS

内部$http调用完成后执行函数-AngularJS,angularjs,Angularjs,在我的代码中,我调用这个函数loadAllOrders()。这是其实施的框架 $scope.loadAllOrders = function() { orderSvc.GetAllOrders().then(function(response) { // Does a bunch of stuff here }); } GetAllOrders()使用$http从数据库获取数据loadAllOrders()然后格式化所有数据并将它们插入到ng repeat中 我希

在我的代码中,我调用这个函数
loadAllOrders()。这是其实施的框架

$scope.loadAllOrders = function() {
    orderSvc.GetAllOrders().then(function(response) {
       // Does a bunch of stuff here
    });
}
GetAllOrders()
使用
$http
从数据库获取数据
loadAllOrders()
然后格式化所有数据并将它们插入到
ng repeat

我希望能够在
loadAllOrders()
完成后调用函数。比如说,

$scope.loadAllOrders().then(
    //I am doing something
);

如何实现这一点?

您可以在angular JS中为LoadAllorder编写自定义承诺

您必须注入$q服务作为对控制器或服务的依赖

$scope.loadAllOrders = function() {
var deferred = $q.defer();
    orderSvc.GetAllOrders().then(function(response) {
       // Does a bunch of stuff here
deferred.resolve(response);
    });
 return deferred.promise;
}


希望这对您有所帮助

您可以在angular JS中为LoadAllorder编写自定义承诺

您必须注入$q服务作为对控制器或服务的依赖

$scope.loadAllOrders = function() {
var deferred = $q.defer();
    orderSvc.GetAllOrders().then(function(response) {
       // Does a bunch of stuff here
deferred.resolve(response);
    });
 return deferred.promise;
}


希望这有助于

您的
承诺
实现此目标您的
承诺
实现此目标如何在承诺返回后执行此函数?$scope.loadAllOrders()。然后(函数(结果){});就像你在问题上写的一样,小心承诺反模式。只需返回
orderSvc.GetAllOrders()
即可返回承诺。在承诺返回后,如何执行函数?$scope.loadAllOrders().then(函数(结果){});就像你在问题上写的一样,小心承诺反模式。只需返回
orderSvc.GetAllOrders()
即可返回承诺。