微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有多个 Angular HTTP 拦截器文件会使请求比一个巨大的拦截器文件慢?

如何解决是否有多个 Angular HTTP 拦截器文件会使请求比一个巨大的拦截器文件慢?

我是 Angular 的新手,并试图在这里使用 HTTP 拦截器。

我只是想知道我是否应该将多个拦截器混为一谈,例如在一个文件中设置标头的令牌,缓存控制,内容类型,还是应该将其分成 token.interceptor.ts 作为令牌并将其他通用标头放在标头中.interceptor.ts。

后者是否具有更差的性能,因为它必须再次调用 req.clone() 以设置标头,或者 Angular 注入是否以另一种方式工作? 关于此主题的最佳做法是什么?

感谢您的意见。

解决方法

我们可以将这个问题分成 2 个子问题。

我只是想知道我是否应该将多个拦截器混为一谈,例如在一个文件中设置标头的令牌,缓存控制,内容类型,还是应该将其分成 token.interceptor.ts 作为令牌并将其他通用标头放在标头中.interceptor.ts。

您可以在 angular httpInterceptor 中设置多个标头。它确实支持多头功能。

后者是否具有更差的性能,因为它必须再次调用 req.clone() 以设置标头,或者 Angular 注入是否以另一种方式工作?关于此主题的最佳做法是什么?

如果您必须更改请求,请先克隆它并在将其传递给 next.handle() 之前修改克隆。clone() 方法的哈希参数允许您在复制其他请求的同时改变请求的特定属性。参考API documentation

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。