第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

無(wú)涯教程: Node.js - 事件發(fā)送

標(biāo)簽:
Node.js

Node中的许多对象都会发出事件,例如net.Server每次对等点连接到它时都会发出一个事件,而fs.readStream在文件打开时会发出一个事件。发出事件的所有对象都是events.EventEmitter的实例。

EventEmitter类

如上一节所述,EventEmitter类位于事件模块中。可通过以下代码访问-

//Import events module
var events=require('events');
//Create an eventEmitter object
var eventEmitter=new events.EventEmitter();

当EventEmitter遇到任何错误时,它将发出"error"事件,添加新的侦听器时,将触发" newListener"事件,而当删除侦听器时,将触发" removeListener"事件

EventEmitter提供了多个属性,如 on 和 emit ,on 属性用于将函数与事件绑定,而 emit 用于触发事件。

EventEmitter方法

Sr.No.Method & 描述
1

addListener(event,listener)

在侦听器数组的末尾为指定事件添加一个侦听器。

2

on(event,listener)

在侦听器数组的末尾为指定事件添加一个侦听器。

3

once(event,listener)

向事件添加一次侦听器,仅在下次触发事件时才调用此侦听器,然后将其删除。

4

removeListener(event,listener)

从侦听器数组中删除指定事件的侦听器。

5

removeAllListeners([event])

删除所有侦听器,或指定事件的侦听器。

6

setMaxListeners(n)

默认情况下,如果为特定事件添加了10个以上的侦听器,则EventEmitters将打印警告。设置为零表示无限。

7

listeners(event)

返回指定事件的侦听器数组。

8

emit(event,[arg1],[arg2],[...])

使用提供的参数按顺序执行每个侦听器,如果事件具有侦听器,则返回true,否则返回false。

Class 方法

Sr.No.Method & 描述
1

listenerCount( emitter,event)

返回给定事件的侦听器数。

Events 事件

Sr.No.大事记 & 描述
1

newListener

  • event    -  事件名称

  • listener - 事件处理函数

每当添加侦听器时都会发出此事件,触发此事件后,可能尚未将侦听器添加到该事件的侦听器数组中。

2

removeListener

  • event    - 字符串事件名称

  • listener - 函数事件处理函数

每当有人删除侦听器时,都会发出此事件,触发此事件后,可能尚未从该事件的侦听器数组中删除该侦听器。

示例代码

使用以下Node.js代码创建一个名为main.js的js文件-

var events=require('events');
var eventEmitter=new events.EventEmitter();

//listener #1
var listner1=function listner1() {
   console.log('listner1 executed.');
}

//listener #2
var listner2=function listner2() {
   console.log('listner2 executed.');
}

//Bind the connection event with the listner1 function
eventEmitter.addListener('connection', listner1);

//Bind the connection event with the listner2 function
eventEmitter.on('connection', listner2);

var eventListeners=require('events').EventEmitter.listenerCount
   (eventEmitter,'connection');
console.log(eventListeners + " Listner(s) listening to connection event");

//Fire the connection event 
eventEmitter.emit('connection');

//Remove the binding of listner1 function
eventEmitter.removeListener('connection', listner1);
console.log("Listner1 will not listen now.");

//Fire the connection event 
eventEmitter.emit('connection');

eventListeners=require('events').EventEmitter.listenerCount(eventEmitter,'connection');
console.log(eventListeners + " Listner(s) listening to connection event");

console.log("Program Ended.");

现在运行main.js以查看输出-

$node main.js

验证输出。

2 Listner(s) listening to connection event
listner1 executed.
listner2 executed.
Listner1 will not listen now.
listner2 executed.
1 Listner(s) listening to connection event
Program Ended.


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消