Junior — Middle
შეგიძლიათ ახსნათ Event Loop-ის მუშაობის პრინციპი Node.js-ში და მისი როლი ასინქრონული დავალებების დამუშავებაში?
sobes.tech AI
პასუხი AI-სგან
Node.js-ის Event Loop არის მექანიზმი, რომელიც საშუალებას აძლევს ასინქრონული კოდის შესრულებას, არ ბლოკავს მთავარი ნაკადი. Node.js მუშაობს ერთ ნაკადზე, მაგრამ Event Loop-ის დახმარებით შეუძლია მრავალი შესვლის-გამოსვლის ოპერაციის პარალელურად დამუშავება.
მუშაობის პრინციპი:
- როდესაც იწყება ასინქრონული ოპერაცია (მაგ., ფაილის წაკითხვა ან ბაზის მოთხოვნა), ის გადაეცემა შესაბამის სისტემურ API-ს ან რიგს.
- Event Loop აკონტროლებს ამ ოპერაციებს და, როდესაც ისინი დასრულდებიან, callback-ებს აყენებს დავალებების რიგში.
- მთავარი ნაკადი ამ callback-ებს რიგრიგობით processing, მათზე ზარის მეშვეობით.
ამ გზით, Event Loop უზრუნველყოფს დავალებების არ ბლოკავას, რაც საშუალებას აძლევს Node.js-ს ეფექტურად მუშაობა მრავალი ერთდროულად ოპერაციით.
მაგალითი:
console.log('Start');
setTimeout(() => {
console.log('Timeout callback');
}, 0);
console.log('End');
// შედეგი:
// Start
// End
// Timeout callback