Rumah > hujung hadapan web > tutorial js > Bagaimana Anda Boleh Menangani Ralat Pengambilan Berdasarkan Kod Status HTTP?

Bagaimana Anda Boleh Menangani Ralat Pengambilan Berdasarkan Kod Status HTTP?

Mary-Kate Olsen
Lepaskan: 2024-11-10 02:13:02
asal
595 orang telah melayarinya

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

Merakam Ralat Pengambilan dengan Status Respons

Anda memanfaatkan API fetch() dengan Redux dan perpustakaan redux-promise-middleware. Dalam coretan kod anda, anda cuba menyemak status respons dan mengendalikan sebarang ralat. Walau bagaimanapun, anda menghadapi masalah di mana janji tidak ditolak.

Memahami Penolakan Janji Ambil

Janji Ambil adalah unik kerana ia hanya menolak kerana ralat rangkaian. Respons dengan kod status seperti 4xx (ralat pelanggan) dan 5xx (ralat pelayan) dianggap sebagai ralat bukan rangkaian. Akibatnya, mereka tidak akan mencetuskan penolakan.

Menyelesaikan Isu

Untuk mengatasi pengehadan ini dan mengendalikan ralat berkaitan status, anda perlu membuang ralat secara manual:

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
  });
Salin selepas log masuk

Coretan kod ini mengesahkan status respons (response.ok). Jika ia tidak OK, ia menimbulkan ralat yang mencetuskan pengendali Promise#catch(). Ini membolehkan anda mengendalikan ralat berdasarkan kod status HTTP dengan anggun.

Atas ialah kandungan terperinci Bagaimana Anda Boleh Menangani Ralat Pengambilan Berdasarkan Kod Status HTTP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan