Rumah  >  Artikel  >  hujung hadapan web  >  Fahami gelung peristiwa Node dalam satu artikel

Fahami gelung peristiwa Node dalam satu artikel

青灯夜游
青灯夜游ke hadapan
2023-04-06 18:39:262505semak imbas

Artikel ini membincangkan tentang gelung acara dalam Nodejs, saya berharap dapat membantu anda memahami gelung acara dalam Nodejs, supaya anda tidak lagi takut dengan jiwa penemuduga yang bertanya: Mari bercakap tentang gelung acara dalam Nodejs!

Fahami gelung peristiwa Node dalam satu artikel

Saya rasa semua orang akan ditanya oleh penemuduga semasa temu duga: "Beritahu saya tentang gelung acara Nodejs."

Sebab saya juga pernah ditanya soalan ini, tetapi setiap kali ia memalukan.

Terdapat banyak pengenalan kepada isu ini di pelbagai blog teknikal, tetapi saya tidak pernah memahaminya. Kerana artikel ini selalunya bermula dengan banyak gambar rajah dan istilah, yang serta-merta memadamkan keberanian untuk memahami. [Cadangan tutorial berkaitan: tutorial video nodejs, Pengajaran pengaturcaraan]

Tetapi anda tidak faham, penemuduga masih bertanya , jadi dengan air mata dan gigi yang mengetap, saya merujuk beberapa tutorial, menghasilkan ringkasan saya sendiri, dan segera berkongsi dengan semua orang.

1. Apakah gelung acara?

Dalam satu perkataan: Gelung peristiwa ialah mekanisme untuk Nodejs mengendalikan operasi tak segerak.

Js adalah satu-benang, mengapa Nodejs boleh mengendalikan operasi tak segerak?

Kerana Nodejs menyerahkan operasi berbilang benang kepada kernel sistem.

Gambar di atas:

Nodejs adalah seperti kanak-kanak pintar, berdasarkan Js It tidak boleh melaksanakan operasi berbilang benang dengan sendirinya, tetapi ia meninggalkan operasi berbilang benang kepada kernel sistem.

Oleh kerana kebanyakan kernel sistem adalah berbilang benang, dan kernel tidak begitu mudah untuk dilaksanakan, maka Nodejs boleh duduk dan berehat, bukan?

2. Mengapa gelung acara diperlukan?

(Terangkan dahulu nama gelung peristiwa. Nodejs dipacu peristiwa. Bila dan bila untuk melakukan sesuatu, perkara yang perlu dilakukan ditakrifkan dalam fungsi panggil balik;

Oleh itu, panggilan balik fungsi boleh ditakrifkan Ia adalah fungsi pemprosesan peristiwa; jadi mekanisme untuk menguruskan fungsi panggil balik dipanggil gelung peristiwa;)

Memandangkan kernel sangat berkuasa, adakah Nodejs selamat?

Tidak, selepas pelaksanaan kernel selesai, Nodejs mesti melaksanakan fungsi panggil balik yang sepadan.

Jadi mekanisme diperlukan untuk membantunya mengurus dan mengekalkan fungsi panggil balik operasi tak segerak ini untuk mengelakkannya daripada bergaduh dan kacau.

Dengan itu dilaksanakan dengan cara yang cekap. Jadi itulah sebabnya ---gelung acara--- diperlukan.

Ringkasan: Gelung peristiwa digunakan oleh Nodejs untuk mengawal susunan pelaksanaan panggilan balik kod tak segerak!

3. Bagaimana untuk memahami gelung acara? Klasifikasikan:

Untuk memahami secara ringkas, untuk tiga API tak segerak di atas, gelung acara menyediakan tiga jenis baris gilir,

Pelik? Mengapa tiada proses.nectTick?

Haha, itu kerana process.nectTick itu sendiri pelik!

process.nectTick

Walaupun process.nectTick ialah API tak segerak, ia bukan sebahagian daripada gelung peristiwa.

Gambar di atas:

Ini melibatkan konsep lain:

Modul tak segerak!

Modul tak segerak

ialah lelaki ajaib ini menggunakan pustaka

libuv

untuk memanggil kernel untuk melaksanakan pelbagai-. operasi berulir!

Berapa kaitan perkara ini dengan process.nectTick?

Ya, kerana process.nectTick boleh difahami sebagai sebahagian daripada modul tak segerak.

Oleh itu, process.nectTick akan sentiasa dipanggil sebelum gelung acara!

? Petua 2: process.nectTick ialah yang terpantas di antara semua tugasan tak segerak; melalui 3 jenis baris gilir untuk berjalan selama seminggu dan menjadi Tick!)

Okay, got it!

Tunggu...nampaknya ada yang hilang? Bagaimanakah Janji dilaksanakan?

Janji

Selain baris gilir nextTick, terdapat juga baris gilir khas: baris gilir microtask. Barisan gilir microtask digunakan terutamanya untuk mengendalikan pelaksanaan fungsi panggil balik Promise.

Apakah susunan pelaksanaan baris gilir microtask?

Gambar di atas:

? Petua 3: Barisan gilir tugasan mikro dilampirkan di belakang baris gilir proses.nectTick dan di hadapan gelung acara;

Begitu banyak yang telah diperkatakan di atas, mari kita lihat secara keseluruhan

? teori, jika anda bijak, anda boleh menganalisisnya Apakah pesanan cetakan terakhir?

Kemudian lain kali kami akan menggabungkan kes temuduga khusus untuk melihat apakah pesanan cetakan mereka.

Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs

!

Atas ialah kandungan terperinci Fahami gelung peristiwa Node dalam satu artikel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam