【发布时间】:2017-12-21 17:48:52
【问题描述】:
documentation for HttpClient 声明了以下关于不变性:
拦截器的存在是为了检查和改变传出的请求和 传入的响应。然而,得知 HttpRequest 和 HttpResponse 类在很大程度上是不可变的。
这是有原因的:因为应用程序可能会重试请求, 拦截器链可能会多次处理单个请求。如果 请求是可变的,重试请求将不同于 原始请求。不变性确保拦截器看到相同的 每次尝试的请求。
我很难理解这个解释。有人可以解释一下吗?
【问题讨论】:
-
我有点等着有人在 SO 中添加这个资源,因为这个问题在这里和 github 上的 angular repo 的问题跟踪器中出现了多次
-
@Jota.Toledo,是的,这个问题也困扰了我一段时间。我现在正在完成一篇大文章,解释拦截器如何在后台工作,并将这个问题作为我调查的一部分。
标签: angular immutability angular-httpclient