node.js برای ساخت برنامه های کاربردی مبتنی بر رویداد مناسب است.

رویدادهای Node.js

هر عمل بر روی کامپیوتر یک رویداد است. مثل زمانی که یک اتصال انجام می شود یا یک فایل باز می شود.

اشیاء در Node.js می توانند حوادث را باعث شوند، مانند شیء readStream  که هنگام باز کردن یا بستن یک فایل رویدادهایی را ایجاد می کند.

مثال :

var fs = require('fs');
var rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
  console.log('The file is open');
});

ماژول رویدادها

Node.js دارای یک ماژول داخلی به نام «events» می باشد، با کمک این ماژول می توانید رویدادهای خود را تعریف کنید، ایجاد کنید و گوش دهید.

برای استفاده از ماژول پیش ساخته برای رویدادها از متد  require استفاده کنید. علاوه بر این، تمام خصوصیات و متدهای رویداد، نمونه ای از شی EventEmitter است. برای دسترسی به این خواص و متد ها، یک شی EventEmitter ایجاد کنید.

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

شی EventEmitter

می توانید با کمک شیء EventEmitter ، دستگیره های رویدادهای را به رویداد دلخواه تان متصل کنید.

در مثال زیر ما یک تابع ایجاد کرده ایم که وقتی یک رویداد ” scream” اتفاق می افتد اجرا می شود.

برای ایجاد رویداد، از متد emit  استفاده کنید.

var events = require('events');
var eventEmitter = new events.EventEmitter();
//Create an event handler:
var myEventHandler = function () {
  console.log('I hear a scream!');
}
//Assign the event handler to an event:
eventEmitter.on('scream', myEventHandler);
//Fire the 'scream' event:
eventEmitter.emit('scream');
نمایش قابل چاپ