内部$ http调用结束后执行函数 - AngularJS

时间:2016-07-12 15:18:01

标签: angularjs

在我的代码中,我调用了这个函数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
);

如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

您可以在angular JS

中为loadAllOrders编写自定义承诺

您必须将 $ 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;
}

https://docs.angularjs.org/api/ng/service/$q

希望这有帮助