当$ http.get从angularjs中的RESTful API获取数据时,放置一个微调器

时间:2014-12-02 07:14:14

标签: javascript angularjs angularjs-http

我在控制器中使用此功能获取数据:

var fetchStoreItems = function () {
    return $http.get('/enterprises/_store').then(function (response) {
        $scope.items = response.data;
    }, function (errResponse) {
        console.error("Error while fetching data")
    })
};

工作正常,速度足够快。但是,如果有很多物品要拿来怎么办?!我想在获取数据时放一个微调器。

我该怎么做?

2 个答案:

答案 0 :(得分:3)

在你的控制器中,

var fetchStoreItems = function () {
    $scope.loading = true;            //define a `$scope` variable; show loading image when ajax starts
    return $http.get('/enterprises/_store').then(function (response) {
        $scope.items = response.data;
        $scope.loading = false;       //hide loading image  when ajax successfully completes
    }, function (errResponse) {
        console.error("Error while fetching data");
        $scope.loading = false;      //hide loading image  when ajax error
    })
};

<img src="pathToLoadingImage" ng-show="loading" />  // show the loading image according to `$scope.loading`

答案 1 :(得分:1)

如果你想将它用于其他一些API调用,kalhano的答案效果很好。 但是,如果您想要所有角度http调用的微调器,您可以考虑使用拦截器。

请检查此链接: Http call docs with interceptors explained