国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
Node.js Events and EventeMitter FAQs (FAQs)
Apakah kelas EventeMitter dalam node.js? Bagaimana ia berfungsi?
Bagaimana untuk membuat contoh eventemitter?
Bagaimana untuk memancarkan acara menggunakan EventeMitter?
Bagaimana untuk mendengar acara menggunakan EventeMitter?
Apakah perbezaan antara kaedah 'On' dan 'Once' dalam EventeMitter?
Bagaimana untuk membuang pendengar acara dari EventeMitter?
Bolehkah saya mengehadkan bilangan pendengar untuk acara di EventeMitter?
Bagaimana untuk mendapatkan bilangan pendengar untuk acara di EventeMitter?
Bolehkah saya mengeluarkan dan menangani kesilapan dalam EventeMitter?
Bolehkah saya menggunakan eventemitter dalam penyemak imbas saya?
Rumah hujung hadapan web tutorial js Acara Node.js dan EventeMitter

Acara Node.js dan EventeMitter

Feb 24, 2025 am 09:14 AM

Node.js Events and EventEmitter

kecekapan node.js sebahagiannya disebabkan oleh seni bina berasaskan peristiwa. Tidak seperti membaca semua fail yang diperlukan (seperti PHP) setiap permintaan, node.js hanya memulakan pelayan, memulakan kebanyakan pembolehubah, mengisytiharkan fungsi, dan kemudian menunggu acara itu berlaku. Walaupun Node.js mempunyai beberapa peristiwa berguna yang dibina, seperti peristiwa

, tidakkah lebih berguna untuk dapat mencipta dan mencetuskan peristiwa tersuai? Artikel ini akan meneroka bagaimana untuk mencapai matlamat ini. Pertama, kami akan menunjukkan cara mengeluarkan peristiwa biasa. Sebagai contoh, apabila seseorang memasuki kedai, cincin loceng untuk menunjukkan kewujudannya, yang sama dengan corak pemerhati di mana peristiwa bertindak sebagai subjek dan semua fungsi yang dilampirkan pada peristiwa adalah seperti pemerhati. Contoh kedai adalah seperti berikut: request

const events = require('events');
const eventEmitter = new events.EventEmitter();

const ringBell = () => {
  console.log('ring ring ring');
};

eventEmitter.on('doorOpen', ringBell);

eventEmitter.emit('doorOpen');
Pertama, kita memuatkan modul teras Node.js

. Kemudian, buat contoh kelas events (kami akan melanjutkannya kemudian). Selepas itu, kami meletakkan fungsi EventEmitter ke dalam pembolehubah supaya ia boleh dipanggil dengan cara ini. Ia hanya mencetak "cincin cincin cincin" di konsol. Seterusnya adalah titik utama. Kami menggunakan kaedah ringBell untuk menambah fungsi eventEmitter.on() ke senarai fungsi ringBell peristiwa. Ini sebenarnya tidak melakukan apa -apa, hanya mendaftarkan fungsi kami. Keajaiban sebenar berlaku pada baris seterusnya, apabila kita mengeluarkan peristiwa. Memanggil kaedah doorOpen akan melaksanakan semua fungsi yang didaftarkan dengan kaedah emit(). Ini tidak begitu menarik, jika kita hanya mahu loceng untuk berdering, kita boleh memanggil fungsi secara langsung. Tetapi itulah yang menarik mengenai peristiwa: anda boleh mendaftarkan seberapa banyak fungsi yang anda suka. Sebagai contoh, kita juga boleh melakukan ini: on

eventEmitter.on('doorOpen', ringBell);
eventEmitter.on('doorOpen', doSomething);
eventEmitter.on('doorOpen', doSomethingElse);

eventEmitter.emit('doorOpen');
Ini berfungsi juga dan menggunakan sepenuhnya ciri -ciri yang disediakan oleh

. Kami juga boleh menggunakan fungsi dengan parameter sebagai pendengar: EventEmitter

eventEmitter.on('doorOpen', (ring) => {
  console.log(ring);
});
eventEmitter.emit('doorOpen', 'ringeling');
kita hanya perlu lulus parameter dalam kaedah

. Walaupun ini sangat kuat, dalam komuniti Node.js, amalan biasa adalah mewarisi dari kelas emit(). Kita boleh melakukan ini dengan membuat kelas EventEmitter yang mempunyai kaedah Door yang akan memancarkan open() peristiwa. Sila lihat kod ini: doorOpen

const events = require('events');

function Door(colour) {
  this.colour = colour;
  events.EventEmitter.call(this);

  this.open = () => {
    this.emit('open');
  };
}

Door.prototype.__proto__ = events.EventEmitter.prototype;

const frontDoor = new Door('brown');

frontDoor.on('open', () => {
  console.log('ring ring ring');
});
frontDoor.open();
Dalam pembina objek

, kami menetapkan warna pintu dan melaksanakan kaedah pembina Door menggunakan kaedah EventEmitter objek call(). Kemudian, kami mengisytiharkan kaedah EventEmitter, yang memancarkan acara "terbuka". Barisan kod ini: open

const events = require('events');
const eventEmitter = new events.EventEmitter();

const ringBell = () => {
  console.log('ring ring ring');
};

eventEmitter.on('doorOpen', ringBell);

eventEmitter.emit('doorOpen');

Salin semua EventEmitter Properties to Door objek. Kemudian kami membuat frontDoor, yang merupakan contoh Door dengan warna coklat. Kemudian kami menambah pendengar acara, akhirnya membuka pintu dan mencetak mesej di konsol. Saya harap semua orang dapat melihat modul events ini sangat kuat dan berguna! Akhirnya, modul events memberikan kami cara untuk menyenaraikan semua pendengar acara yang dilampirkan pada acara dan memadam pendengar acara.

eventEmitter.on('doorOpen', ringBell);
eventEmitter.on('doorOpen', doSomething);
eventEmitter.on('doorOpen', doSomethingElse);

eventEmitter.emit('doorOpen');

anda boleh menggunakan atribut listeners untuk mencapainya. Sudah tentu, ini hanya berfungsi jika anda tidak menggunakan fungsi tanpa nama sebagai pendengar acara. Sekiranya kita mahu, kita boleh mengeluarkan loceng dari pintu:

eventEmitter.on('doorOpen', (ring) => {
  console.log(ring);
});
eventEmitter.emit('doorOpen', 'ringeling');

atau, kita juga boleh mengeluarkan semua pendengar:

const events = require('events');

function Door(colour) {
  this.colour = colour;
  events.EventEmitter.call(this);

  this.open = () => {
    this.emit('open');
  };
}

Door.prototype.__proto__ = events.EventEmitter.prototype;

const frontDoor = new Door('brown');

frontDoor.on('open', () => {
  console.log('ring ring ring');
});
frontDoor.open();

Terima kasih kerana membaca panduan ini dan semoga anda mendapat sesuatu! Jumpa lagi lain!

Node.js Events and EventeMitter FAQs (FAQs)

Apakah kelas EventeMitter dalam node.js? Bagaimana ia berfungsi?

Kelas

EventEmitter adalah modul teras dalam node.js yang memudahkan komunikasi antara objek. Ia adalah sebahagian daripada modul events untuk mengeluarkan dan mengendalikan peristiwa tersuai. Kelas EventEmitter berfungsi dengan mendaftarkan fungsi atau pengendali acara ke acara bernama. Apabila sesuatu peristiwa dipancarkan oleh objek EventEmitter, semua fungsi yang dilampirkan pada acara itu dipanggil serentak.

Bagaimana untuk membuat contoh eventemitter?

Mewujudkan contoh EventEmitter adalah mudah. Pertama, anda perlu mengimport modul events. Anda kemudian boleh membuat contoh baru menggunakan kata kunci new. Berikut adalah contoh mudah:

Door.prototype.__proto__ = events.EventEmitter.prototype;

Bagaimana untuk memancarkan acara menggunakan EventeMitter?

Untuk mengeluarkan peristiwa, anda boleh menggunakan kaedah EventEmitter contoh emit. Kaedah ini membolehkan anda menentukan nama acara dan lulus bilangan parameter kepada pendengar acara. Berikut adalah contoh:

const ring = () => {
  console.log('ring');
};
frontDoor.on('open', ring);

console.log(require('util').inspect(frontDoor.listeners('open'))); // 輸出 [ ring ]

Bagaimana untuk mendengar acara menggunakan EventeMitter?

Untuk mendengar peristiwa, anda boleh menggunakan kaedah EventEmitter contoh on. Kaedah ini membolehkan anda menentukan nama acara dan fungsi panggil balik yang akan dipanggil apabila acara dipancarkan. Berikut adalah contoh:

frontDoor.removeListener('open', ring);

Apakah perbezaan antara kaedah 'On' dan 'Once' dalam EventeMitter?

Kaedah

on membolehkan anda menambah fungsi panggil balik yang akan dipanggil setiap kali acara itu dipancarkan. Sebaliknya, kaedah once membolehkan anda menambah fungsi panggil balik yang hanya akan dipanggil apabila acara itu dipancarkan pada kali pertama.

Bagaimana untuk membuang pendengar acara dari EventeMitter?

Untuk menghapuskan pendengar acara, anda boleh menggunakan kaedah EventEmitter atau removeListener contoh off. Kaedah ini membolehkan anda menentukan nama acara dan fungsi panggil balik yang perlu dikeluarkan. Berikut adalah contoh:

const events = require('events');
const eventEmitter = new events.EventEmitter();

const ringBell = () => {
  console.log('ring ring ring');
};

eventEmitter.on('doorOpen', ringBell);

eventEmitter.emit('doorOpen');

Bolehkah saya mengehadkan bilangan pendengar untuk acara di EventeMitter?

Ya, anda boleh menggunakan kaedah EventEmitter contoh setMaxListeners untuk mengehadkan bilangan pendengar untuk acara. Kaedah ini membolehkan anda menentukan bilangan maksimum pendengar yang boleh ditambah untuk acara.

Bagaimana untuk mendapatkan bilangan pendengar untuk acara di EventeMitter?

Untuk mendapatkan bilangan pendengar untuk acara, anda boleh menggunakan kaedah EventEmitter contoh listenerCount. Kaedah ini membolehkan anda menentukan nama acara dan mengembalikan bilangan pendengar untuk acara itu.

Bolehkah saya mengeluarkan dan menangani kesilapan dalam EventeMitter?

Ya, anda boleh mengeluarkan dan mengendalikan kesilapan dalam EventEmitter. Jika EventEmitter tidak mendaftarkan sekurang -kurangnya pendengar untuk acara error dan acara error dipancarkan, ralat dilemparkan, jejak timbunan dicetak, dan proses Node.js akan keluar.

Bolehkah saya menggunakan eventemitter dalam penyemak imbas saya?

Walaupun EventEmitter adalah modul Node.js dan digunakan terutamanya untuk aplikasi sisi pelayan, terdapat juga versi penyemak imbas yang tersedia. Ini boleh digunakan seperti versi Node.js, yang membolehkan anda menggunakan seni bina yang didorong oleh acara yang sama dalam kod klien anda.

Atas ialah kandungan terperinci Acara Node.js dan EventeMitter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Java vs JavaScript: Membersihkan kekeliruan Java vs JavaScript: Membersihkan kekeliruan Jun 20, 2025 am 12:27 AM

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

Komen JavaScript: Penjelasan ringkas Komen JavaScript: Penjelasan ringkas Jun 19, 2025 am 12:40 AM

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Bagaimana untuk bekerja dengan tarikh dan masa di JS? Bagaimana untuk bekerja dengan tarikh dan masa di JS? Jul 01, 2025 am 01:27 AM

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

JavaScript vs Java: Perbandingan Komprehensif untuk Pemaju JavaScript vs Java: Perbandingan Komprehensif untuk Pemaju Jun 20, 2025 am 12:21 AM

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

Kenapa anda harus meletakkan tag  di bahagian bawah ? Kenapa anda harus meletakkan tag di bahagian bawah ? Jul 02, 2025 am 01:22 AM

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScript: Meneroka jenis data untuk pengekodan yang cekap JavaScript: Meneroka jenis data untuk pengekodan yang cekap Jun 20, 2025 am 12:46 AM

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Apakah peristiwa yang menggelegak dan menangkap di Dom? Apakah peristiwa yang menggelegak dan menangkap di Dom? Jul 02, 2025 am 01:19 AM

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

Apa perbezaan antara Java dan JavaScript? Apa perbezaan antara Java dan JavaScript? Jun 17, 2025 am 09:17 AM

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza. 1.Java adalah bahasa yang ditaip dan disusun secara statik, sesuai untuk aplikasi perusahaan dan sistem besar. 2. JavaScript adalah jenis dinamik dan bahasa yang ditafsirkan, terutamanya digunakan untuk interaksi web dan pembangunan front-end.

See all articles