理解AngularJS请求拦截器中的返回语句

理解AngularJS请求拦截器中的返回语句,angularjs,Angularjs,我们都在为我们的应用程序使用拦截器。但是由于我使用了它,我不理解拦截器中请求和响应方法的retunr语句: 返回配置| |$q.when(配置) 据我所知,如果config对象未定义,该方法将在promise API的when方法中返回config wrap,因为我们不知道它是否为promise。我想没关系 但我的问题是,如何才能在请求中获取未定义的配置对象 谢谢您的回复首先,我认为公共API不允许您传入错误配置。您可以调用$http(null),但这将抛出TypeError:无法读取null的

我们都在为我们的应用程序使用拦截器。但是由于我使用了它,我不理解拦截器中请求和响应方法的retunr语句:

返回配置| |$q.when(配置)

据我所知,如果config对象未定义,该方法将在promise API的when方法中返回config wrap,因为我们不知道它是否为promise。我想没关系

但我的问题是,如何才能在请求中获取未定义的配置对象


谢谢您的回复首先,我认为公共API不允许您传入错误配置。您可以调用
$http(null)
,但这将抛出
TypeError:无法读取null的属性“headers”

但是我也不明白
| | when
的目的。如果调用
$q.when(config)
,您就知道
config
是错误的。例如,拦截器返回一个解析为
null
的承诺。为什么不直接从文档返回
null

该函数可以自由修改配置或创建新配置。该函数需要直接或作为承诺返回配置

如果拦截器1返回未定义的,那么拦截器2将获得未定义的配置

但这并不能解释这个语句,因为我们仍然没有一个有效的配置(带有标题等)。因此,它不是“真实”代码,而是文档中的语句:

直接返回配置=返回配置或作为承诺=| |$q.when(config)


我理解你,但不要怪我,你的问题就是我的问题!!这段代码在angularjs关于拦截器的文档中!!!!我不怪你,我认为这是一个有趣的问题。我将此作为一个答案发布,因为它回答了“但我的问题是如何在请求中获取未定义的配置对象?”。但这仍然留下了一些其他问题…仅供参考,这是承诺,这是公关,我认为:所以我们永远不会得到未定义。。。这句话没用!任何解释!AngularJS团队编写代码每个人都编写相同的代码,但没有人理解!太棒了,哈哈