Heim > Web-Frontend > js-Tutorial > Wie können Sie Abruffehler basierend auf HTTP-Statuscodes ordnungsgemäß behandeln?

Wie können Sie Abruffehler basierend auf HTTP-Statuscodes ordnungsgemäß behandeln?

Mary-Kate Olsen
Freigeben: 2024-11-10 02:13:02
Original
623 Leute haben es durchsucht

How Can You Gracefully Handle Fetch Errors Based on HTTP Status Codes?

Abruffehler mit Antwortstatus erfassen

Sie nutzen die fetch()-API mit Redux und der Redux-Promise-Middleware-Bibliothek. In Ihrem Codeausschnitt versuchen Sie, den Antwortstatus zu überprüfen und etwaige Fehler zu beheben. Sie stoßen jedoch auf ein Problem, bei dem das Versprechen nicht abgelehnt wird.

Grundlegendes zu Ablehnungen von Abrufversprechen

Abrufversprechen sind insofern einzigartig, als sie nur aufgrund von abgelehnt werden Netzwerkfehler. Antworten mit Statuscodes wie 4xx (Clientfehler) und 5xx (Serverfehler) gelten als Nicht-Netzwerkfehler. Folglich lösen sie keine Ablehnung aus.

Problem lösen

Um diese Einschränkung zu überwinden und statusbezogene Fehler zu behandeln, müssen Sie manuell einen Fehler auslösen:

fetch(url)
  .then((response) => {
    if (response.ok) {
      return response.json();
    }
    throw new Error('Something went wrong');
  })
  .then((responseJson) => {
    // Handle the data
  })
  .catch((error) => {
    // Handle the error
  });
Nach dem Login kopieren

Dieses Code-Snippet überprüft den Antwortstatus (response.ok). Wenn es nicht in Ordnung ist, wird ein Fehler ausgegeben, der den Promise#catch()-Handler auslöst. Dadurch können Sie Fehler basierend auf HTTP-Statuscodes elegant behandeln.

Das obige ist der detaillierte Inhalt vonWie können Sie Abruffehler basierend auf HTTP-Statuscodes ordnungsgemäß behandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage