JavaScript sebagai Bahasa Berbenang Tunggal: Sebut secara ringkas cara JavaScript mengendalikan hanya satu tugas pada satu masa, tetapi Gelung Acara menjadikannya kelihatan sebaliknya
. Cara Gelung Acara Berfungsi: Langkah-langkah utama dalam proses Gelung Acara
Timbunan: Timbunan panggilan menguruskan kod segerak.
Baris gilir: Baris gilir panggil balik memegang tugasan menunggu untuk dilaksanakan.
Gelung: Gelung Acara menyemak sama ada tindanan kosong sebelum
mengalihkan tugas dari baris gilir ke tindanan.
Pecahan Aliran Kerja :
Pelaksanaan Kod Awal:
console.log('Hi'); $.get('url', function cb(data) { console.log(data); }); console.log('JSConfEU');
Panggilan Fungsi Asynchronous ($.get):
Seterusnya, $.get('url', function cb(data) { ... }) ditemui. Fungsi ini memulakan permintaan HTTP untuk mendapatkan semula data daripada 'url'.
Daripada menyekat urutan utama, permintaan itu dihantar ke persekitaran API Web (selalunya sebahagian daripada penyemak imbas).
Fungsi panggil balik (cb) didaftarkan untuk dilaksanakan sebaik sahaja permintaan HTTP selesai, tetapi ia tidak dilaksanakan serta-merta. Permintaan HTTP terus dimuatkan dalam bahagian Web API, ditandakan sebagai XHR (XMLHttpRequest), yang biasa digunakan untuk mengendalikan permintaan rangkaian.
Bergerak ke Baris Segerak Seterusnya:
Gelung Acara dan Barisan Tugasan:
Selepas menyelesaikan semua kod segerak, Tindanan Panggilan menjadi kosong dan JavaScript menunggu sebarang tugas tak segerak selesai.
Setelah permintaan HTTP selesai, fungsi panggil balik (cb) dialihkan daripada API Web ke Barisan Tugas.
Gelung Acara secara berterusan menyemak sama ada Tindanan Panggilan kosong dan apabila kosong, Gelung Acara mengalihkan tugasan daripada Baris Gilir Tugasan kepada Tindanan Panggilan
Pelaksanaan Panggilan Balik:
Ringkasan :
Aliran ini menunjukkan cara Gelung Acara mengendalikan kod tak segerak
oleh:
Memproses kod segerak serta-merta pada Tindanan Panggilan.
Mengendalikan tugas tak segerak dalam API Web dan, setelah selesai, mengalihkannya ke Barisan Tugasan.
Membenarkan Gelung Peristiwa mengalihkan tugas ke Tindanan Panggilan hanya apabila ia kosong, memastikan pelaksanaan kod tidak menyekat.
Atas ialah kandungan terperinci Mengapa JavaScript Tidak Pernah Tidur: Panduan Mudah untuk Gelung Acara. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!