logo Ashraf

Asas Node.js – Events

<Tutorial >

Kebanyakan function Node.js adalah berasaskan event. Jadi untuk memahami nodejs secara lebih mendalam perlulah kita tahu apa tu even & cara membuat & gunakannya. Definisi event ? Event adalah isyarat yang sesuatu telah berlaku. Boleh rujuk docs Node.js mengenai secara lebih mendalam. Node.js – Events.

Asas EventEmitter

// index.jsconst EventEmitter = require('events'); // (1)
const emitter = new EventEmmiter(); // (2)
// (3)
emitter.addListener('onXon', function(arg){
    console.log('listener called');
    console.log(arg) // {arg1: 'ini data 1', arg2: 'data ke2 di sini'}
});'
// (4)
emitter.emit('onXon', {arg1: 'ini data 1', arg2: 'data ke2 di sini'}); // emmit = beri isyarat yang sesuatu berlaku
  1. Import class EventEmitter dari package ‘events’
  2. Buat object baru dari class EventEmitter untuk digunakan
  3. Add event listener, so bila isyarat diberi, lakukan sesuatu
  4. Beri isyarat untuk listener lakukan sesuatu

Tips:

// cara lagi untuk add event listener yang lebih pendek.
emitter.on('onXon', function(){
    console.log('listener called');
});

Implement event in project

Kita akan gunakan project belajar-nodejs dari post Asas Node.js – Import/Export.

// logger.js
const EventEmitter = require('events'); // (1)
const emitter = new EventEmmiter(); // (2)
class Logger extends EventEmitter {
    log(text){
        console.log(text);
        this.emit('onXon', {arg: `the text is called`})
    }
}
module.exports = Logger; // export class Logger
// index.js
const Logger = require('./logger'); // import object dari logger.js
const logger = new Logger();
logger.on('onXon', arg => {
    console.log(arg);
});
logger.log('text dari method log yang diimport dari class Logger di logger.js');
// text dari method log yang diimport dari class Logger di logger.js
// {arg: "the text is called"}
Buy Me A Coffee

Blog

Menjadi seorang Youtuber ?

Salam. Aku sekarang tengah prepare untuk publish content pertama untuk youtube aku. Kalau yang tak tau, ini adalah channel youtube aku: Youtube Ceghap. Sebelum ini ada aku letak video-video merepek kat situ tapi kebanyakkannya dah aku hide dari tatapan umum. Channel Youtube ni sebenarnya aku nak buat sebagai medium bagi aku punya personal improvement dari… Continue reading Menjadi seorang Youtuber ?

Import & Export WSL Linux Distro di Windows 10

Untuk yang masih belum tahu, Windows 10 telah menyediakan 1 platform Windows Subsystem for Linux (WSL) untuk kita menjalankan sistem operasi linux di dalam windows. Kita tidak lagi perlu untuk buat dual boot kalau kita nak menggunakan linux terutamanya untuk programming. Info lanjut mengenai Windows boleh rujuk https://docs.microsoft.com/en-us/windows/wsl/ Kalau kau dah pasang Ubuntu misalnya, &… Continue reading Import & Export WSL Linux Distro di Windows 10