node . js中的事件是什么

  介绍

这篇文章给大家分享的是有关节点。js中的事件是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

前端对事件肯定不陌生,为窗口绑定滚动事件

window.addEventListener(& # 39;滚动# 39;,ev=比;{   console.log (ev);   });

节点。js大部分异步操作使用事件驱动,所有可以触发事件的对象都继承了<代码> EventEmitter>

节点上。js事件监听使用jQuery API和非常类似<代码>发射器。(eventName侦听器)

const ee=new EventEmitter ();   ee.on (& # 39; foo # 39;,()=比;console.log(& # 39;一个# 39;));
    <李> EventEmitter实例会维护一个侦听器数组,每次听众默认会被添加到数组尾部李 <李>每次添加听众不会检查是否添加过,多次调用> prependListener

    <代码>发射器。prependListener (eventName侦听器)
    通过prependListener可以把听众添加到听众数组头部

    const ee=new EventEmitter ();   ee.prependListener (& # 39; foo # 39;,()=比;console.log(& # 39;一个# 39;));

    一旦如果希望侦听器被触发一次后就不再触发,可以使用> const ee=new EventEmitter ();   ee.once (& # 39; foo # 39;,()=比;console.log(& # 39;一个# 39;));

    <代码>发射器。发出(eventName […args)
    在浏览器环境中开发者事件相关的大部分工作是订阅事件,也就是绑定事件处理函数的倾听者,在节点。js事件编程中经常需要创建事件对象,在合理实际触发事件。使用发出方法可以按照侦听器注册的顺序,<强>同步强地调用每个注册到名为eventName的事件的监听器,并传入提供的参数

    const EventEmitter=要求(& # 39;事件# 39;);   const myEmitter=new EventEmitter ();//第一个监听器。   myEmitter.on(& # 39;事件# 39;,函数firstListener () {   console.log(& # 39;第一个监听器& # 39;);   });//第二个监听器。   myEmitter.on(& # 39;事件# 39;,函数secondListener (__arg1、最长){   控制台。日志(“第二个监听器中的事件有参数$ {__arg1} ${最长}');   });//第三个监听器   myEmitter.on(& # 39;事件# 39;,函数thirdListener (args) {   常量参数=args.join (& # 39; & # 39;);   控制台。日志(“第三个监听器中的事件有参数${参数}');   });      console.log (myEmitter.listeners(& # 39;事件# 39;));      myEmitter.emit(& # 39;事件# 39;,1,2,3,4,5);//输出://(//功能:firstListener,//功能:secondListener,//(功能:thirdListener)//)//第一个监听器//第二个监听器中的事件有参数1、2//第三个监听器中的事件有参数1,2,3,4,5

    <代码> eventEmitter.emit() 方法可以传任意数量的参数到侦听器,这<代码> 关键词会被指向听众所绑定的EventEmitter实例

    const myEmitter=new myEmitter ();   myEmitter.on(& # 39;事件# 39;,函数(a, b) {   控制台。日志(a, b,这个===myEmitter);//打印://b MyEmitter {//域:空,//_events:{事件:[功能]},//_eventsCount: 1、//_maxListeners:未定义}真的   });   myEmitter.emit(& # 39;事件# 39;,& # 39;一个# 39;,& # 39;b # 39;);

    也可以使用ES6的箭头函数作为监听器。但这<代码> 关键词不会指向EventEmitter实例:

    const myEmitter=new myEmitter ();   myEmitter.on(& # 39;事件# 39;,(a, b)=比;{   控制台。日志(a、b);//打印:b {}   });   myEmitter.emit(& # 39;事件# 39;,& # 39;一个# 39;,& # 39;b # 39;);

    <代码> EventEmitter> setImmediate() 和<代码> process.nextTick() 方法切换到异步的操作模式

    const myEmitter=new myEmitter ();   myEmitter.on(& # 39;事件# 39;,(a, b)=比;{   setImmediate(()=比;{   console.log(& # 39;异步地发生& # 39;);   });   });   myEmitter.emit(& # 39;事件# 39;,& # 39;一个# 39;,& # 39;b # 39;);

    节点。js提供了几种卸载事件绑定的方法

    关闭/removeListener

    从方法是removeListener方法的别名,用于清理事件绑定<代码>发射器。removeListener (eventName侦听器)

    node . js中的事件是什么