


Bagaimanakah Saya Boleh Mengganggu Permintaan Pengambilan HTTP dalam JavaScript?
Nov 23, 2024 am 05:19 AMMengganggu Permintaan Pengambilan HTTP dengan Pembatalan
Pengenalan fetch() dalam JavaScript telah merevolusikan pengendalian permintaan HTTP, menyediakan antara muka yang serba boleh dan intuitif. Walau bagaimanapun, kebimbangan sering timbul mengenai keupayaan untuk menamatkan permintaan ini lebih awal.
Batalkan Mekanisme dalam fetch()
Sehingga September 2017, fetch() menggabungkan peningkatan ketara: sokongan untuk parameter isyarat . Parameter ini membenarkan pembangun membatalkan permintaan menggunakan AbortController dan AbortSignal yang sepadan. Pada mulanya, sokongan penyemak imbas adalah terhad, tetapi kini (sehingga Mac 2020), kebanyakan penyemak imbas utama (Edge, Firefox, Chrome, Safari, Opera dan lain-lain) menerima sepenuhnya fungsi ini.
Pelaksanaan
Proses pembatalan melibatkan empat langkah:
- Buat AbortController:
const controller = new AbortController()
- Dapatkan Isyarat Abort:
const signal = controller.signal
- Lepasi isyarat untuk mengambil():
fetch(urlToFetch, { method: 'get', signal: signal, })
- Batalkan permintaan pada bila-bila masa dikehendaki:
controller.abort();
Contoh
Untuk menggambarkan cara ia berfungsi dalam amalan, pertimbangkan contoh berikut:
// Create an instance. const controller = new AbortController() const signal = controller.signal /* // Register a listenr. signal.addEventListener("abort", () => { console.log("aborted!") }) */ function beginFetching() { console.log('Now fetching'); var urlToFetch = "https://httpbin.org/delay/3"; fetch(urlToFetch, { method: 'get', signal: signal, }) .then(function(response) { console.log(`Fetch complete. (Not aborted)`); }).catch(function(err) { console.error(` Err: ${err}`); }); } function abortFetching() { console.log('Now aborting'); // Abort. controller.abort() }
Dengan menggunakan controller.abort() , permintaan boleh diganggu pada bila-bila masa.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengganggu Permintaan Pengambilan HTTP dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ganti aksara rentetan dalam javascript

Tutorial Persediaan API Carian Google Custom

8 plugin susun atur halaman jquery yang menakjubkan
