2017-09-26 34 views
7

Jak wiadomo jest to możliwe do wykorzystania przechwytujących w nowych wersjach kątowych 4.Jak anulować bieżące żądanie w przechwytujących - kątowe 4

w moim, chcę, aby anulować żądanie w przechwytujących w niektórych warunkach. Czy to możliwe? a może powinienem zapytać, w którą stronę powinienem to zrobić?

Również będzie OK! gdybym znalazł sposób na przepisanie jakiejś odpowiedzi na żądanie zamiast jej anulowania.

+0

Co masz na myśli przez „przepisać jakąś odpowiedź?” Łatwo jest edytować żądanie przed jego obsługą, jeśli o to ci chodzi. –

+0

Dokumentacja ma przykład: https://angular.io/guide/http#caching –

+0

Wspomniałem o tym z powodu niektórych funkcji w angularjs, które widziałem w https://stackoverflow.com/a/38926333/3534952. –

Odpowiedz

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

sub.unsubscribe(); 
+0

Dzięki za odpowiedź, ale nie jest to rozwiązanie! –

+1

Nie zapewnia to odpowiedzi na pytanie. Aby skrytykować lub poprosić o wyjaśnienie od autora, pozostaw komentarz pod swoim postem. - [Z recenzji] (/ review/low-quality-posts/17631268) – AJFarmar

+0

Nie można tego zrobić w przechwytywaczu, ponieważ nie masz subskrypcji, ale HttpRequest. –

1

myślę, wszystko co musisz zrobić, aby wyciąć łańcuch Interceptor jest po prostu wrócić pusty Observable jak tak

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