node : 7 事件处理

示例代码:

// 用到了內置模塊 events
const EventEmitter = require("events");

class DemoEmitter extends EventEmitter{
    constructor(opt){
        super(opt);
    }

    init(){
        console.log("init..");
        // emit觸發事件
        this.emit('init', '1234'); // emit方法的第一個參數必須和觸發函數保持一致,第二個參數為傳遞的參數值,對應下面的param
    }

    close(){
        console.log("close...");
        this.emit('close', 'event');
    }
}

let d = new DemoEmitter();

// on監聽某個事件,可以觸發多次
d.on('init', param => {
    console.log("init 事件觸發,參數是:", param);
});

// once也是監聽事件,不過只能觸發一次
d.once("close", (param)=>{
    console.log('close事件響應方法執行。。。。。', param);
});

d.init(); 
d.close();
// // 運行結果:
// init..
// init 事件觸發,參數是: 1234
// close...
// close事件響應方法執行。。。。。 event
发布了191 篇原创文章 · 获赞 1 · 访问量 4688

猜你喜欢

转载自blog.csdn.net/bluebloodye/article/details/103170835