nodeJs里面的events

events模块

  1. events.EventEmitter是该模块唯一的对象

  2. EventEmitter 的核心就是事件触发与事件监听器功能的封装

  3. 下面介绍几个常见的APi:

    1. on(event,listener):event[String] listener:事件监听函数

    2. emit(event,…agr1):event[String]事件名字

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

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

    5. removeAllListeners([event]) 如果没有指定就删除所有的事件和监听器

      下面是是示例代码:

      const events=require('events');
      const event1=new events.EventEmitter();
      event1.on('say',(msg)=>{
          console.log(msg);
      });
      event1.once('jump',(msg)=>{
          console.log('我跳楼了');
      });
      event1.emit('say','hello,world');
      let timer=null;
      timer=setInterval(()=>{
          event1.emit('jump');
      },1000);
      setTimeout(()=>{
          clearInterval(timer);
      },2000);
      

      error机制

EventEmitter 定义了一个特殊的事件 error ,它包含了“错误”的语义,我们在遇到异常的时候通常会发射 error 事件。当 error 被发射时, EventEmitter 规定如果没有响应的监听器,Node.js 会把它当作异常,退出程序并打印调用栈。 我们一般要为会发射 error 事件的对象设置监听器,避免遇到错误后整个程序崩溃

const events = require('events');
let emitter = new events.EventEmitter();
emitter.emit('error');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值