fb pixel
გამოიწერე YouTube-ის არხიyoutube logoგამოწერა
val-do.com-ის ლოგო
კურსებიბლოგირეზიუმეებიხ.დ.კ.წესებიკონტაქტიკონვერტორებიფინანსებიჩვევები

კურსებიბლოგირეზიუმეებიხ.დ.კ.წესებიკონტაქტიკონვერტორებიფინანსებიჩვევები
შესვლა
  1. მთავარი
  2. კურსები
  3. Node.js-ის კურსი
  4. Node.js-ის events მოდული
Node.js-ის events მოდული

Node.js-ის events მოდული

როდესაც ჩვენ შევისწავლეთ ჯავასკრიპტის DOM ჩვენ აქტიურად ვიყენებდით ე.წ. ივენთებს (events) როგორებიცაა მაგალითად: მაუსის კლიკი (click) რომლის დახმარებითაც ვცდილობდით კონკრეტული ელემენტის კლიკზე კონკრეტული ფუნქციონალის შესრულებას.

nodejs-ის მხარეს ჩვენ ასევე გვაქვს მსგავსი event-ების კლასი რომელიც შესულია ნოუდის  events მოდულში.

მოცემულ გაკვეთილში შევისწავლით თუ როგორი პრინციპით მუშაობს EventEmitter კლასი node-ის აპლიკაციაში.

მაგალითი:

const EventEmitter = require('node:events');
const eventEmitter = new EventEmitter();

განვიხილოთ მაგალითი. მაგალითში პირველ რიგში ვაიმპორტებთ EventEmitter კლასს, რასაც ვაკეთებთ ე.წ. პასკალ ქეის შეთანხმებით.
ხოლო შემდგომ ცვლადში სახელად eventEmitter ვახდენთ EventEmitter-კლასის ინიციალიზაციას, რაც საშუალებას გვაძლევს გამოვიყენოთ მისი ყველა მეთოდი.

მიუხედავად EventEmitter კლასში არსებული მრავალი მეთოდისა ჩვენ ძირითად შემთხვევაში გამოვიყენებთ emit და on მეთოდებს.

  • emit მეთოდით ხდება event-ის დაწყება
  • on მეთოდი გავძლევს საშუალებას მოვუსმინოთ კონკრეტულ event-ს callback ფუნქციის დახმარებით

მაგალითისთვის შევქმნათ event სახელად start რომელიც კონსოლში დაბეჭდავს started ტექსტს.

მაგალითი:

eventEmitter.on('start', () => {
  console.log('started');
});

მიუხედავად იმისა, რომ ჩვენ წარმატებით შევქმენით event სახელად start კოდის გაშვებისას კონსოლში არაფერი დაიბეჭდება მანამ სანამ არ მოვახდენთ მოცემული event-ის გაშვებას, რომელიც emit მეთოდის დახმარებით უნდა მოვახდინოთ.

მაგალითი:

eventEmitter.emit('start');

მოცემული კოდი მოახდენს start event-ის გაშვებას, შესაბამისად შესრულდება callback-ში არსებული კოდი და დაიბეჭდება started ტექსტი.

მრავალ არგუმენტიანი EventEmitter

eventEmitter ასევე გვაძლევს საშუალებას emit მეთოდის დახმარებით ასევე გავგზავნოთ სასურველი არგუმენტები, რომელიც ხელმისაწვდომი გახდება callback ფუნქციაშ პარამეტრების სახით.

მაგალითი:

eventEmitter.on('start', number => {
  console.log(`started ${number}`);
});

eventEmitter.emit('start', 23);

მრავალ არგუმენტიანი მაგალითი:

 

eventEmitter.on('start', (start, end) => {
  console.log(`started from ${start} to ${end}`);
});

eventEmitter.emit('start', 1, 100);

EventEmitter კლასი ასევე გვთავაზობს სხვადასხვა მეთოდებს.

  • once(): ამატებს ერთჯერად listener-ს
  • removeListener() / off(): აშორებს event listener-ს event-დან
  • removeAllListeners(): აშორებს ყველა listener-ს event-დან

მოცემული მაგალითები მოყვანილია nodejs-ის ოფიციალური დოკუმენტაციიდან, იმისთვის, რომ ვრცლად გაარჩიოთ EventEmitter კლასი გირჩევთ გაეცნოთ დოკუმენტაციას


კურსში შემავალი თემები

🔗 nodejs🔗 json🔗 javascript

დამატებითი რესურსები

  • Telegram
  • Discord

სხვა კატეგორიები

შეისწავლეთ ვებდეველოპმენტის ენები სრულიად უფასოდ, ისეთები როგორებიცაა Javascript, HTML, CSS და კიდევ სხვა მრავალი ენა

HTML, CSS-ის სა...

HTML, CSS-ის საწყისი კურსი, დამწყებთათვის (deprecated - მოძველებული)

ჯავასკრიპტის კუ...

ჯავასკრიპტის კურსი

JavaScript-ის D...

JavaScript-ის DOM-ის კურსი

TypeScript-ის კ...

TypeScript-ის კურსი

Angular-ის კურს...

Angular-ის კურსი

HTML, CSS-ის კუ...

HTML, CSS-ის კურსი

Reactjs-ის კურს...

Reactjs-ის კურსი დამწყებთათვის

ალგორითმები...

ალგორითმები

Node.js-ის კურს...

Node.js-ის კურსი

Dart-ის კურსი...

Dart-ის კურსი

C პროგრამირების...

C პროგრამირების ენის საფუძვლები

ბოლოს დაწერილი ბლოგები პროგრამირებაზე

ქვემოთ მოცემულია უახლესი 3 ბლოგი პროგრამირების თემატიკასთან დაკავშირებით

Habit Tracker —...

Habit Tracker — პატარა ჩვევები, რომლებიც დიდ შედეგებს ქმნის

აკონტროლეთ თქვე...

აკონტროლეთ თქვენი ფული მარტივად და გააზრებულად

როგორ ინახება ი...

როგორ ინახება ინფორმაცია. რა არის Bit და Byte?

  • რა არის Node.js?
  • Node.js-ის ინსტალაცია, გარემოს გამართვა
  • Node.js-ის მოდულები
  • Node.js-ის fs მოდული
  • Node.js-ის events მოდული
პროგრამირების კურსები
HTML, CSSJavaScriptTypeScriptAngularReactJSNodeJSC

დიზაინ სისტემა

© val-do.com 2026 წელი - ყველა უფლება დაცულია

24 ივლისი, 2026, 20:49:51

ვერსია 0.4.54