<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>node.js listener callback - hknsoft</title>
	<atom:link href="https://hknsoft.com/etiket/node-js-listener-callback/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Android, Yazılım, Script</description>
	<lastBuildDate>Sat, 21 Oct 2023 09:07:23 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://hknsoft.com/wp-content/uploads/2020/05/cropped-icon-hknsoft-150x150.png</url>
	<title>node.js listener callback - hknsoft</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Node.js Listener Kullanımı</title>
		<link>https://hknsoft.com/node-js-listener-kullanimi/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 28 May 2023 22:57:04 +0000</pubDate>
				<category><![CDATA[Node.js]]></category>
		<category><![CDATA[javascript listener]]></category>
		<category><![CDATA[node.js listener]]></category>
		<category><![CDATA[node.js listener callback]]></category>
		<category><![CDATA[node.js listener kullanımı]]></category>
		<guid isPermaLink="false">https://hknsoft.com/?p=1305</guid>

					<description><![CDATA[<p>Oluşturduğumuz nesne içerisindeki olayları takip edebilmek için listenerlara ihtiyaç duyuyoruz. Örneğin, nesne içerisinde bir interval tanımladınız. Saniyede bir bu interval içindeki kod çalışıyor. Buraya kadar <a class="mh-excerpt-more" href="https://hknsoft.com/node-js-listener-kullanimi/" title="Node.js Listener Kullanımı">[...]</a></p>
<p>The post <a href="https://hknsoft.com/node-js-listener-kullanimi/">Node.js Listener Kullanımı</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Oluşturduğumuz nesne içerisindeki olayları takip edebilmek için listenerlara ihtiyaç duyuyoruz.</p>



<p class="wp-block-paragraph">Örneğin, nesne içerisinde bir interval tanımladınız. Saniyede bir bu interval içindeki kod çalışıyor. Buraya kadar bir sorun yok. Fakat bu interval içerisinde <strong>dışarıdan bir kod çalıştırmak</strong> istiyorsunuz. İşte bunu yapabilmek için listener kullanmalıyız.</p>



<h2 class="wp-block-heading">Class Oluşturma</h2>



<p class="wp-block-paragraph">Öncelikle <strong>game.model.js</strong> adında bir dosya oluşturuyoruz.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">class Game {
    // bu classtan bir nesne oluşturulduğu zaman listener varsayılan olarak null tanımlanıyor
    onTick = null;

    constructor(id, players, time) {
        this.id = id;
        this.players = players;
        this.time = time;
    }

    // oyunu başlatıyoruz
    start() {
        var interval = setInterval(() =&gt; {
            if (this.time &gt; 0) {
                this.time -= 1;
            }

            // burada listenerı tetikliyoruz
            // her bir saniyede bu listener tetiklenecek
            if (this.onTick != null) this.onTick();
        }, 1000);
    }

    // dışarıdan bu fonksiyonu kullanarak listener oluşturuyoruz
    setOnTickListener(l) {
        // bu kontrolü listener birden fazla kere tanımlanmasın diye koyuyoruz
        if (this.onTick != null) return;
        this.onTick = l;
    }
}

module.exports = Game;</pre></div>



<p class="wp-block-paragraph"><strong>setOnTickListener()</strong> fonksiyonu ile dışarıdan listener tanımlaması yapabileceğiz.</p>



<h2 class="wp-block-heading">Listener Kullanımı</h2>



<p class="wp-block-paragraph"><strong>app.js</strong> dosyasında öncelikle bir Game nesnesi oluşturuyoruz. Daha sonra aşağıda gördüğünüz gibi listener tanımlaması yapıyoruz.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">// game.model.js dosyamızı çağırıyoruz
const Game = require('./game.model.js');

// yeni bir nesne oluşturuyoruz
var game = new Game('18815616', null, 30);

// bu nesneye özel bir listener oluşturuyoruz
game.setOnTickListener(() =&gt; {
    console.log('game time: ' + game.time);
});

game.start();</pre></div>



<p class="wp-block-paragraph">Artık interval içerisinde dışarıdan (farklı bir dosyadan) kodlar çalıştırabiliriz.</p>



<p class="wp-block-paragraph">app.js dosyasını çalıştırdığımız zaman <strong>konsolda</strong> aşağıdaki gibi bir çıktıyla karşılaşacağız.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">game time: 29
game time: 28
game time: 27
game time: 26
game time: 25
game time: 24
game time: 23
game time: 22
game time: 21</pre></div>



<h2 class="wp-block-heading has-text-align-center"><a href="https://gist.github.com/fovelas/40890a6eb6fa257bc94e6d01d22b35cb" target="_blank" rel="noreferrer noopener nofollow"><strong>GitHub</strong></a></h2>
<p>The post <a href="https://hknsoft.com/node-js-listener-kullanimi/">Node.js Listener Kullanımı</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
