2017-09-26 39 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); 
    } 
}