zoukankan      html  css  js  c++  java
  • node.js 的事件驱动

          events 模块只提供了一个对象: events.EventEmitter。 EventEmitter 的核心就
    是事件发射与事件监听器功能的封装。EventEmitter 的每个事件由一个事件名和若干个参
    数组成,事件名是一个字符串,通常表达一定的语义。对于每个事件, EventEmitter 支持
    若干个事件监听器。当事件发射时,注册到这个事件的事件监听器被依次调用,事件参数作
    为回调函数参数传递。

    var events = require('events');
    
    var emitter = new events.EventEmitter();
    
    // emitter.on 为事件名  someEvent 注册了下面的两个事件监听器:
    emitter.on('someEvent', function(arg1, arg2) {
        console.log('listener1', arg1, arg2);
    });
    
    emitter.on('someEvent', function(arg1, arg2) {
        console.log('listener2', arg1, arg2);
    });
    
    // 发射 someEvent 事件 。两个事件监听器回调函数被调用。
    emitter.emit('someEvent', 'byvoid', 1991);

      EventEmitter.on(event, listener) 为指定事件注册一个监听器,接受一个字
      符串 event 和一个回调函数 listener。

     EventEmitter.emit(event, [arg1], [arg2], [...]) 发射 event 事件,传
     递若干可选参数到事件监听器的参数表。

    EventEmitter.once(event, listener) 为指定事件注册一个单次监听器,即
    监听器最多只会触发一次,触发后立刻解除该监听器。

    EventEmitter.removeListener(event, listener) 移除指定事件的某个监听
    器, listener 必须是该事件已经注册过的监听器。

    EventEmitter.removeAllListeners([event]) 移除所有事件的所有监听器,
    如果指定 event,则移除指定事件的所有监听器。

  • 相关阅读:
    pythonday06数据类型(四)
    pythonday05数据类型(三)
    pythonday04数据类型(二)
    pythonday03数据类型(一)
    Apollo自动驾驶实践——第0讲:导论
    图论学习:生成树的Matrix-tree定理
    2020杭电多校6 Expectation
    2020牛客暑期多校第九场 B Groundhog and Apple Tree
    图论:二分图最大权匹配KM算法
    第十章 百度Apollo实战
  • 原文地址:https://www.cnblogs.com/z360519549/p/5282896.html
Copyright © 2011-2022 走看看