美文网首页
Node API之event

Node API之event

作者: 郑伟的菜园子 | 来源:发表于2016-01-07 03:04 被阅读34次

    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

          本文链接:https://www.haomeiwen.com/subject/vorfkttx.html