1 回答

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
events.EventEmitter 類(lèi)提供了如下api
事件綁定函數(shù)
emitter.on(event, function(){
//業(yè)務(wù)處理
});
還有另外一種綁定函數(shù)的方法,很不常用,和上面的等價(jià)
emitter.addListener(event,function(){
//業(yè)務(wù)處理
});
2.綁定一次性函數(shù),和上面的一樣,給某個(gè)事件綁定一個(gè)函數(shù),不同的是,對(duì)此事件只監(jiān)聽(tīng)一次,也就是說(shuō),這個(gè)綁定函數(shù)只運(yùn)行一次.
emitter.once(event,function(){
//業(yè)務(wù)處理
});
3.移除一個(gè)事件綁定函數(shù)
emitter.removeListener(event,function(){
//移除指定事件
});
4.移除所有綁定事件函數(shù),注意參數(shù)是數(shù)組,數(shù)組元素是事件名稱(chēng)
emitter.removeAllListener([event,]);
5.設(shè)置事件綁定函數(shù)上限,
node.js 建議我們?cè)谀硞€(gè)事件上的綁定函數(shù)不要超過(guò)10個(gè),如果達(dá)到這個(gè)上限會(huì)予以警告,如何消除這個(gè)警告?用下面的api
emitter.setMaxListeners(n); //這樣一個(gè)事件最多可以綁定n個(gè)函數(shù)
6.事件發(fā)射器,注冊(cè)事件
emitter.emit(event,[arg1],[arg2])
用這個(gè)api注冊(cè)事件,也就是自定義事件.
剩下的 幾個(gè)api不一一列舉了.
如何在一個(gè)自定義的類(lèi)里使用事件? 答案是: 繼承!
讓你定義的類(lèi)繼承 events ,然后就可以使用上面的api了.
- 1 回答
- 0 關(guān)注
- 647 瀏覽
添加回答
舉報(bào)