Angular - 在 http 拦截器中过滤响应是个好主意吗?
Angular - is filtering responses in http interceptor a good idea?
我制作了一个 http 拦截器,我在其中过滤 HttpEvent
以仅获取 HttpResponse
。看起来像这样:
return next.handle(requestToSend).pipe(
filter(event => event instanceof HttpResponse),
map((event: HttpResponse<any>) => this.handleResponse(event)),
catchError(error => this.handleErrors(error))
);
这是我的问题:过滤响应以仅获得 HttpResponse
是个好主意吗?它不会破坏任何东西吗?网络套接字?它真的像某种防火墙一样工作吗?
您的拦截器仅处理 HttpClient
发出的请求。所以它不应该破坏任何与其他 HTTP 请求相关的东西,比如 websockets,只要你不使用 HttpClient
来执行这些请求。
关于请求的过滤,是有道理的,因为有different kind of events that can be returned by the handle
方法。但在下面的 map()
函数中,事件被严格键入为 HttpResponse
.
我制作了一个 http 拦截器,我在其中过滤 HttpEvent
以仅获取 HttpResponse
。看起来像这样:
return next.handle(requestToSend).pipe(
filter(event => event instanceof HttpResponse),
map((event: HttpResponse<any>) => this.handleResponse(event)),
catchError(error => this.handleErrors(error))
);
这是我的问题:过滤响应以仅获得 HttpResponse
是个好主意吗?它不会破坏任何东西吗?网络套接字?它真的像某种防火墙一样工作吗?
您的拦截器仅处理 HttpClient
发出的请求。所以它不应该破坏任何与其他 HTTP 请求相关的东西,比如 websockets,只要你不使用 HttpClient
来执行这些请求。
关于请求的过滤,是有道理的,因为有different kind of events that can be returned by the handle
方法。但在下面的 map()
函数中,事件被严格键入为 HttpResponse
.