﻿
{"id":8602,"date":"2018-07-17T14:27:32","date_gmt":"2018-07-17T14:27:32","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=8602"},"modified":"2018-07-17T14:31:54","modified_gmt":"2018-07-17T14:31:54","slug":"node-js-eventemitter-sinifi","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/node-js-eventemitter-sinifi\/","title":{"rendered":"Node.js &#8211; EventEmitter S\u0131n\u0131f\u0131"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Bu makalemizde Node.js \u00fczerinde event olu\u015fturmak i\u00e7in kullan\u0131lan EventEmitter s\u0131n\u0131f\u0131n\u0131 de\u011ferlendirecek ve ard\u0131ndan bu s\u0131n\u0131f\u0131 kullanarak olay olu\u015fturmay\u0131 inceleyece\u011fiz.<\/p>\n<p>EventEmitter s\u0131n\u0131f\u0131 sayesinde \u00f6zel olaylar tan\u0131mlayarak, tan\u0131mlad\u0131\u011f\u0131n\u0131z bu olaylar\u0131 istedi\u011finiz zaman tetikleyebilirsiniz.<\/p>\n<p>\u0130lgili s\u0131n\u0131f\u0131 kullanabilmek i\u00e7in \u00f6ncelikle &#8220;events&#8221; mod\u00fcl\u00fcn\u00fcn require edilmesi gerekmektedir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nconst event = require(&quot;events&quot;);\r\n<\/pre>\n<p>Ard\u0131ndan bu mod\u00fcl i\u00e7erisinde bulunan EventEmitter s\u0131n\u0131f\u0131ndan nesne talep edilmelidir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nconst eventEmitter = new event.EventEmitter();\r\n<\/pre>\n<p>Bu i\u015flemden sonra EventEmitter nesnesi \u00fczerinden olaylar\u0131m\u0131z\u0131 tan\u0131mlayabiliriz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\neventEmitter.on(&quot;Tetikle&quot;, () =&gt; {\r\n    console.log(&quot;Tetiklendi...&quot;);\r\n});\r\n<\/pre>\n<p>Tan\u0131mlanan olay\u0131 tetiklemek i\u00e7in tekrardan EventEmitter nesnesinin &#8220;emit&#8221; fonksiyonunu \u00e7a\u011f\u0131rmam\u0131z yeterlidir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\neventEmitter.emit(&quot;Tetikle&quot;);\r\n<\/pre>\n<p>Bu i\u015flem neticesinde olay\u0131m\u0131z tetiklenecek ve beklenen \u00e7\u0131kt\u0131lar elde edilecektir.<\/p>\n<p>Yapm\u0131\u015f oldu\u011fumuz \u00e7al\u0131\u015fmay\u0131 a\u015fa\u011f\u0131da toparlarsak e\u011fer;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nconst event = require(&quot;events&quot;);\r\n\/\/Olay mod\u00fcl\u00fcn\u00fc require ediyoruz.\r\nconst eventEmitter = new event.EventEmitter();\r\n\/\/Olay tan\u0131mlamak i\u00e7in EventEmitter nesnesi olu\u015fturulur.\r\n\r\neventEmitter.on(&quot;Tetikle&quot;, () =&gt; {\r\n    console.log(&quot;Tetiklendi...&quot;);\r\n});\r\n\/\/EventEmitter nesnesi \u00fczerinden on fonksiyonuyla olay\u0131m\u0131z\u0131 tan\u0131ml\u0131yoruz.\r\n\r\neventEmitter.emit(&quot;Tetikle&quot;);\r\n\/\/Olay\u0131 trigger etmek i\u00e7in emit fonksiyonu kullan\u0131l\u0131r.\r\n<\/pre>\n<p>\u015eimdi dikkatleri tan\u0131mlanan event fonksiyonuna odaklarsak e\u011fer i\u00e7erisindeki callback fonksiyonuna nas\u0131l parametre tan\u0131mlayaca\u011f\u0131z diye olas\u0131 sorunuzun cevab\u0131yla, &#8220;emit&#8221; fonksiyonuyla tan\u0131mlanan parametreye istenen de\u011ferin nas\u0131l g\u00f6nderildi\u011fini a\u015fa\u011f\u0131da ele alm\u0131\u015f bulunmaktay\u0131z.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\neventEmitter.on(&quot;Tetikle&quot;, (data) =&gt; {\r\n    console.log(`Tetiklendi... : ${data.name} ${data.surName}`);\r\n});\r\n\r\neventEmitter.emit(&quot;Tetikle&quot;, { name: &quot;Gen\u00e7ay&quot;, surName: &quot;Y\u0131ld\u0131z&quot; });\r\n<\/pre>\n<p>Son olarak tan\u0131mlanan olayda &#8220;on&#8221; fonksiyonundan ziyade &#8220;once&#8221; fonksiyonunuda kullanabiliriz. \u0130kisinin aras\u0131ndaki temel fark; &#8220;on&#8221; fonksiyonu ard arda trigger edilebiliyorken, &#8220;once&#8221; fonksiyonu tek sefer trigger edilebilmektedir.<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, Bu makalemizde Node.js \u00fczerinde event olu\u015fturmak i\u00e7in kullan\u0131lan EventEmitter s\u0131n\u0131f\u0131n\u0131 de\u011ferlendirecek ve ard\u0131ndan bu s\u0131n\u0131f\u0131 kullanarak olay olu\u015fturmay\u0131 inceleyece\u011fiz. EventEmitter s\u0131n\u0131f\u0131 sayesinde \u00f6zel olaylar tan\u0131mlayarak, tan\u0131mlad\u0131\u011f\u0131n\u0131z bu olaylar\u0131 istedi\u011finiz zaman tetikleyebilirsiniz. \u0130lgili s\u0131n\u0131f\u0131&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":8600,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2145],"tags":[2469,2147,2471,2470],"class_list":["post-8602","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-node-js","tag-eventemitter-sinifi","tag-node-js","tag-node-js-event","tag-node-js-olay"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8602","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=8602"}],"version-history":[{"count":11,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8602\/revisions"}],"predecessor-version":[{"id":8613,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8602\/revisions\/8613"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/8600"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=8602"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=8602"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=8602"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}