با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش Node.js در خدمت شما دوستان هستیم. در این جلسه قصد داریم به آموزش رویداد ها در Node.js ( ماژول events در Node.js , شی EvantEmitter ) بپردازیم
Node.js برای برنامه های مبتی بر رویداد (Event-Driven) بسیار عالی عمل می کند.
هر عملی یا اقدامی در کماپیوتر یک رویداد است. مانند وقتی که ارتباط برقرار می شود یا یک فایل باز می شود.
اشیا در node.js می توانند به رویداد ها بپردازند. مانند شی readStream که هنگام باز و بسته شدن یک فایل به رویداد های آن می پردازد.
1 2 3 4 5 | var fs = require('fs'); var rs = fs.createReadStream('./demofile.txt'); rs.on('open', function () { console.log('The file is open'); }); |
node.js یک ماژول داخلی به نام events دارد که می توانید با استفاده از آن رویداد های خود را پردازش کنید.
از تابع ()require برای وارد کردن این ماژول به داخل برنامه استفاده می کنیم.
تمام خاصیت ها (Properties) و متد های رویداد یک نمونه از شی EventEmitter است.
برای دسترسی به این خواص و متد ها یک شی EventEmitter ایجاد می کنیم:
1 2 | var events = require('events'); var eventEmitter = new events.EventEmitter(); |
با استفاده از این شی می توانید رسیدگی کننده یا مدیریت کننده های رویداد را به رویداد های خود اختصاص دهید.
در مثال زیر یک تابع ایجاد کرده ایم که هنگام گیر افتادن یک رویداد scream اجرا می شود.
برای گیر انداختن یا اجرا کردن یک رویداد از متد ()emit استفاده می کنیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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'); |
جلسه آموزش رویداد ها در Node.js نیز به پایان رسید.
در جلسه بعد به آموزش آپلود فایل در Node.js خواهیم پرداخت. با ما همراه باشید.
حامدم
عالی بود ممنون