2017-09-26 115 views
7

正如你知道这是可能使用的角4如何取消拦截当前请求 - 角4

新版本在矿山拦截,我想取消在某些条件下拦截的请求。 那可能吗?或者我应该问什么,我该怎么做?

此外它会好的!如果我找到一种方法来重写对请求的某些响应而不是取消它。

+0

你所说的“改写一些反应”意思?在处理请求之前很容易编辑请求,如果这就是你的意思。 –

+0

该文档有一个示例:https://angular.io/guide/http#caching –

+0

我之所以提到这是因为我在https://stackoverflow.com/a/38926333/3534952中看到的angularjs中的一些功能。 –

回答

-4
let sub = this.http.get(url, {headers: reqHeaders}) 
      .subscribe(
       (res) => { 
        res = res.json(); 
       } 
      ); 

sub.unsubscribe(); 
+0

感谢您的回答,但它不是解决方案! –

+1

这不提供问题的答案。以批判或作者作出澄清,离开低于其信息的评论中。 - [来自评论](/ review/low-quality-posts/17631268) – AJFarmar

+0

这不能在拦截器中完成,因为你没有订阅,但是HttpRequest。 –

1

我认为,所有你需要做的削减拦截器链是简单地返回一个空Observable像这样

intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { 
    if (stopThisRequest) { 
     return Observable.empty(); 
    } else { 
     return next.handle(req); 
    } 
}