拦截器在 此处 的
文档中 。
这是一个如何写一个例子。
.config([ '$httpProvider', function($httpProvider) { var interceptor = [ '$q', '$rootScope', 'userSession', function($q, $rootScope, userSession) { var service = { // run this function before making requests 'request': function(config) { if (config.method === 'GET' || userSession.isAuth()) { // the request looks good, so return the config return config; } // bad request, so reject return $q.reject(config); } }; return service; } ]; $httpProvider.interceptors.push(interceptor); }])
$httpProvider文档页面上没有关于拦截器的任何信息,是因为开发人员未在
$http
生成文档的
脚本中
包含以下代码:
/** * @ngdoc property * @name $httpProvider#interceptors * @description// etc
一般而言,已知文档不完整,不准确和/或令人困惑。直到最近,我一直以为找不到或不了解某些东西是我的问题,但是我发现这通常是因为文档太糟糕了。但是,我们都应该感谢我们拥有如此出色的工具,并且要记住,由于时间必须集中在编写工具而不是工具手册上,因此文档可能不多。
最可靠的“文档”是源代码本身,尽管阅读起来可能不太友好!在我上面链接的源代码中,您可以看到
this.interceptors =[]。
this引用
$httpProvider,因此它将属性分配
interceptors给
$httpProvider,其值为一个空数组。要添加拦截器,您只需
push()将拦截器添加到此数组即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)