介绍
这篇文章给大家分享的是有关nodejs中事件模块提供了什么对象的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
在nodejs中,事件模块“事件”只提供了一个对象“EventEmitter”,它的核心是事件发射与事件监听器。该对象支持若干个事件监听器;当事件发射时,注册到这个事件的事件监听器被依次调用,事件参数作为回调函数参数传递。
引用>本教程操作环境:windows7多系统,nodejs 12.19.0版,戴尔G3电脑。
nodejs中的事件模块(事件)
事件是节点。js最重要的模块、事件模块只提供了一个对象的事件。EventEmitter, EventEmitter的核心是事件发射与事件监听器。
节点。js中大部分的模块,都继承自事件模块。
与DOM树上事件不同,不存在事件冒泡,逐层捕获等行为。
EventEmitter支持若干个事件监听器。当事件发射时,注册到这个事件的事件监听器被依次调用,事件参数作为回调函数参数传递。
如何访问:
要求(& # 39;事件# 39;);发射器。(事件侦听器)
/* ,,,调模用事件块,获取events.EventEmitter对象 */var EventEmitter =,要求(& # 39;事件# 39;).EventEmitter;,,, var ee =, new EventEmitter ();/* ,,,EventEmitter.on(事件,,侦听器),为事件注册一个监听 ,,,参数1:event ,字符串,事件名 ,,,参数2:回调函数 */ee.on (& # 39; some_events& # 39;,,函数(foo, bar), { ,,,console.log(“第1个监听事件,参数foo=? +, foo +,“,酒吧=? bar ); }); console.log(& # 39;第一轮& # 39;); ee.emit (& # 39; some_events& # 39;,, & # 39;威尔逊# 39;,,& # 39;钟# 39;); console.log(& # 39;第二轮& # 39;); ee.emit (& # 39; some_events& # 39;,, & # 39;威尔逊# 39;,,& # 39;z # 39;);发射器。排放(事件[__arg1],[最长],[…])
var EventEmitter =,要求(& # 39;事件# 39;).EventEmitter;,,, var ee =, new EventEmitter (); ee.on (& # 39; some_events& # 39;,,函数(foo, bar), {,,,,,,,, ,,,console.log(“第1个监听事件,参数foo=? +, foo +,“,酒吧=? bar ); });/* ,,,EventEmitter.emit(事件,,(__arg1),(最长),[…]),,,触发指定事件 ,,,参数1:event ,字符串,事件名 ,,,参数2:可选参数,按顺序传入回调函数的参数 ,,,返回值:该事件是否有监听*/var isSuccess =, ee.emit (& # 39; some_events& # 39;,, & # 39;威尔逊# 39;,,& # 39;钟# 39;); ee.on (& # 39; some_events& # 39;,,函数(foo, bar), {,,,,,,,, ,,,console.log(“第2个监听事件,参数foo=? +, foo +,“,酒吧=? bar ); }); ee.emit (& # 39; some_events& # 39;,, & # 39;钟# 39;,,& # 39;魏# 39;);var isSuccess2 =, ee.emit (& # 39; other_events& # 39;,, & # 39;威尔逊# 39;,,& # 39;钟# 39;); console.log (isSuccess); console.log (isSuccess2);示例进行了三次触发事件操作,其中some_events注册了监听,调用时发出函数会返回一个真的,而other_events并没有注册监听,发出函数会返回一个假的,表示该事件没有监听;当然也可以不用管这个返回值!
引用>发射器。一次(事件侦听器)
var EventEmitter =,要求(& # 39;事件# 39;).EventEmitter;,,, var ee =, new EventEmitter ();/* ,,,EventEmitter.once(事件,,侦听器),,为事件注册一次性监听、触发一次后移除监听 ,,,参数1:event ,字符串,事件名 ,,,参数2:回调函数*/ee.once (& # 39; some_events& # 39;,,函数(foo, bar), { ,,,console.log(“第1个监听事件,参数foo=? +, foo +,“,酒吧=? bar ); }); console.log(& # 39;第一轮& # 39;); ee.emit (& # 39; some_events& # 39;,, & # 39;威尔逊# 39;,,& # 39;钟# 39;); console.log(& # 39;第二轮& # 39;);var isSuccess =,, ee.emit (& # 39; some_events& # 39;,, & # 39;威尔逊# 39;,,& # 39;钟# 39;); console.log (isSuccess);nodejs中事件模块提供了什么对象