Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah Saya Boleh Membatalkan Permintaan Ambil dalam JavaScript?

Bagaimanakah Saya Boleh Membatalkan Permintaan Ambil dalam JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-11-18 01:29:02130semak imbas

How Can I Cancel Fetch Requests in JavaScript?

Membatalkan Permintaan Ambil: Meneroka Mekanisme Terbina dalam

API fetch() baharu JavaScript menyediakan cara yang mudah untuk membuat permintaan HTTP. Walau bagaimanapun, persoalan yang sudah lama wujud: adakah terdapat mekanisme terbina dalam untuk membatalkan permintaan ini pada pertengahan penerbangan?

Parameter Isyarat

Sehingga September 2017, fetch() menyokong parameter isyarat. Parameter ini menerima objek AbortSignal, yang membolehkan pengguguran terkawal permintaan pengambilan.

Pelaksanaan

Untuk membatalkan permintaan pengambilan, ikut langkah berikut:

  1. Buat contoh AbortController.
  2. Dapatkan objek AbortSignal daripada AbortController.
  3. Lepasi AbortSignal untuk mengambil() dalam parameter isyarat.
  4. Apabila dikehendaki, panggil controller.abort() untuk menamatkan permintaan.

Contoh

Pertimbangkan coretan kod berikut:

// Initialize an AbortController and its AbortSignal
const controller = new AbortController();
const signal = controller.signal;

// Perform a fetch request with the AbortSignal
fetch(urlToFetch, {
  signal,
});

// Abort the request at any time
controller.abort();

Sokongan Penyemak Imbas

Pada mulanya, sokongan untuk AbortSignal adalah terhad. Walau bagaimanapun, setakat Mac 2020, kebanyakan penyemak imbas utama (Edge, Firefox, Chrome, Safari, Opera, dll.) telah melaksanakan ciri ini, menjadikannya penyelesaian yang boleh diakses secara meluas.

Walaupun tidak semua penyemak imbas pada masa ini mungkin menyokong AbortSignal , ketersediaannya yang meluas menunjukkan bahawa membatalkan permintaan pengambilan dalam penerbangan kini merupakan keupayaan biasa dalam pembangunan JavaScript.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membatalkan Permintaan Ambil dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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