HttpInterceptor in Angular 4.3: Abfangen von 400 Fehlerreaktionen

9

Ich möchte 401 und andere Fehler abfangen , um entsprechend zu reagieren. Das ist mein Abfangjäger:

%Vor%

Dies funktioniert zwar gut für 200 Anfragen, greift jedoch nicht auf die Fehler responses

zurück

Alles was ich in der chrome-dev-Konsole sehe ist:

  

zone.js: 2616 GET Ссылка 404 (Nicht   Gefunden)

Oder das

  

zone.js: 2616 GET Ссылка 401   (Nicht autorisiert)

Ich möchte, dass mein Abfangjäger sich damit beschäftigt. Was vermisse ich?

    
Tim 28.07.2017, 07:25
quelle

2 Antworten

21

Http sendet Fehler im Fehler-Stream einer Observablen, so dass Sie sie mit .catch abfangen müssen (mehr dazu lesen Sie unter hier ).

%Vor%     
0mpurdy 28.07.2017, 07:39
quelle
5

Dies ist wahrscheinlich viel zu spät für Sie zu verwenden, aber hoffentlich wird jemand anderes es nützlich finden ... So schreiben Sie die obige return-Anweisung um auch Fehlerreaktionen zu protokollieren:

%Vor%

Ich verwende dieselbe Methode, um automatisch alle 401 nicht autorisierten Antworten direkt an unsere Abmelde-Methode zu senden (anstatt bei jedem einzelnen Aufruf von http nach einem 401 zu suchen):

%Vor%

Es funktioniert wie ein absoluter Charme. :)

    
Enrika 11.12.2017 03:03
quelle

Tags und Links