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!');
    });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容