Node API之event

Node.js中许多对象都会触发事件:当一个文件被打工的时候fs.ReadStream被触发,当一个用户连接被建立的时候net.Server中的事件被触发,所有的对象的事件相关的方法继承自EventEmitter,可以通过require("events")来加载事件模块。
var EventEmitter = require('events');
如何让一个对象俱备事件相关的方法?

'use strict';
    const util = require('util');
    const EventEmitter = require('events');

    function MyEventEmitter() {
    // Initialize necessary properties from `EventEmitter` in this instance
    EventEmitter.call(this);
    }

    // Inherit functions from `EventEmitter`'s prototype
    util.inherits(MyEventEmitter, EventEmitter);
EventEmitter.defaultMaxListeners 默认最大监听数量
Event: 'removeListener' 当某监听者移除事件时触发
emitter.addListener(event, listener) 是emitter.on的别名
Event: 'newListener'增加事件监听者的时候触发
 
server.on('connection', function (stream) {
    console.log('someone connected!');
    });
console.log(util.inspect(server.listeners('connection'))); // [ [Function] ]
emitter.once(event, listener)
server.once('connection', function (stream) {
    console.log('Ah, we have our first user!');
    });

你可能感兴趣的:(Node API之event)