{"id":11312,"date":"2014-01-03T16:06:30","date_gmt":"2014-01-03T10:36:30","guid":{"rendered":"http:\/\/www.tothenew.com\/blog\/?p=11312"},"modified":"2014-01-03T16:06:30","modified_gmt":"2014-01-03T10:36:30","slug":"event-emitters-in-node-js","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/event-emitters-in-node-js\/","title":{"rendered":"Event Emitters In Node.JS"},"content":{"rendered":"<p>Event Emitters are used to create and manage our own events and trigger them accordingly. We can bind listeners and emit those events whenever required.<\/p>\n<p>Example :<\/p>\n<p>[js]<br \/>\nvar events = require(&#8216;events&#8217;);<br \/>\nvar eventEmitter = new events.EventEmitter();<br \/>\neventEmitter.on(&#8216;Morning&#8217;, function welcomeMessage()<br \/>\n{<br \/>\n  console.log(&#8216;Good Morning!!&#8217;);<br \/>\n});<\/p>\n<p>eventEmitter.on(&#8216;Evening&#8217;, function goodByeMessage()<br \/>\n{<br \/>\n  console.log(&#8216;Good Evening!!&#8217;);<br \/>\n});<\/p>\n<p>if(new Date().getHours() &lt;= 12)<br \/>\neventEmitter.emit(&#8216;Morning&#8217;);<br \/>\nelse<br \/>\neventEmitter.emit(&#8216;Evening&#8217;);<\/p>\n<p>[\/js]<\/p>\n<p>Here we have created an instance of EventEmitter class,provided by Events module. We have bound two events &#8220;Morning&#8221; and &#8220;Evening&#8221;.If the current hours returned is greater than or equal to 12 , event &#8220;Morning&#8221; is emitted otherwise event &#8220;Evening&#8221; is emitted.<\/p>\n<p>We can bind more than one function to a single event.<\/p>\n<p>NOTE: If you want create more than 10 listeners on a single event, you will have to make a call to\u00a0<code>eventEmitter.setMaxListeners(n)<\/code>\u00a0where n is the max numbers of listeners (with zero being unlimited number of listeners). This is used to make sure you aren&#8217;t accidentally leaking event listeners.<\/p>\n<p>So in this way we can create events, bind listeners to them and trigger them using event emitters.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Event Emitters are used to create and manage our own events and trigger them accordingly. We can bind listeners and emit those events whenever required. Example : [js] var events = require(&#8216;events&#8217;); var eventEmitter = new events.EventEmitter(); eventEmitter.on(&#8216;Morning&#8217;, function welcomeMessage() { console.log(&#8216;Good Morning!!&#8217;); }); eventEmitter.on(&#8216;Evening&#8217;, function goodByeMessage() { console.log(&#8216;Good Evening!!&#8217;); }); if(new Date().getHours() &lt;= 12) [&hellip;]<\/p>\n","protected":false},"author":65,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":3},"categories":[1],"tags":[1260,55,1124],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/11312"}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=11312"}],"version-history":[{"count":0,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/11312\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=11312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=11312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=11312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}