【问题标题】:Does having multiple Angular HTTP interceptor files make request slower than a huge file of interceptors?拥有多个 Angular HTTP 拦截器文件会使请求比一个巨大的拦截器文件慢吗?
【发布时间】:2021-05-25 05:32:21
【问题描述】:
我是 Angular 新手,想在这里使用 HTTP 拦截器。
我只是想知道是否应该合并多个拦截器,例如在一个文件中设置标头的令牌、缓存控制、内容类型,还是应该将其分离到 token.interceptor.ts 中以获得令牌并将其他通用标头放在标头中.interceptor.ts.
后者的性能是否更差,因为它必须再调用一次 req.clone() 来设置标头,或者 Angular 注入是否以另一种方式工作?
关于此主题的最佳做法是什么?
感谢您的意见。
【问题讨论】:
标签:
javascript
angular
interceptor
angular-http-interceptors
httpinterceptor
【解决方案1】:
我们可以把这个问题分成2个子问题。
我只是想知道是否应该合并多个拦截器,例如在一个文件中设置标头的令牌、缓存控制、内容类型,还是应该将其分离到 token.interceptor.ts 中以获得令牌并将其他通用标头放在标头中.interceptor.ts.
您可以在 angular httpInterceptor 中设置多个标头。它确实支持多标题功能。
后者的性能是否更差,因为它必须再调用一次 req.clone() 来设置标头,或者 Angular 注入是否以另一种方式工作?关于此主题的最佳做法是什么?
如果您必须更改请求,请先克隆它并修改克隆,然后再将其传递给 next.handle()。clone() 方法的哈希参数允许您在复制其他请求的同时更改请求的特定属性。参考API documentation