Why does angular $resource add extra objects ($promise, $resolve…) to my data response?

前端 未结 5 892
感情败类
感情败类 2021-01-17 08:38

I return a resource with a URL

    $resource(\"http://foo.com/bar.json\").get().
         $promise.then(function(data){ $scope.result = data}, 
                     


        
5条回答
  •  遇见更好的自我
    2021-01-17 09:00

    To automatically remove them from every request, you can add an interceptor:

    angular.module('app').config(config);
    
    config.$inject = ['$httpProvider'];
    function config($httpProvider) {
        $httpProvider.interceptors.push(interceptor);
    }
    
    interceptor.$inject = [];
    function interceptor() {
        return {
            request: (config) => {
                if (config.data) {
                    delete config.data.$promise;
                    delete config.data.$resolved;
                }
                return config;
            }
        };
    }
    

提交回复
热议问题