在Node.js中,大多數核心API都是圍繞慣用的異步和event-driven體係結構構建的。 EventEmitter類具有所有對象作為事件發出的實例,這些對象在這些實例中公開eventEmitter.on()函數。為了處理事件,有必要導入事件庫(require(‘events’))。
itter.eventNames()(在v6.0.0中添加)方法是事件模塊的內置應用程序編程接口,用於列出發射器已為其注冊偵聽器並以數組形式返回的事件。這些偵聽器的類型是字符串或符號。
用法:
const EventEmitter = require('events'); emitter.eventNames()
參數:該函數不接受任何參數。
返回值<Array>:它返回一個包含字符串或Symbol值的數組,列出發射器已為其注冊偵聽器的事件。
範例1: 文件名:index.js
// Node.js program to demonstrate the
// emitter.eventNames() method
// Using require to access events module
const EventEmitter = require('events');
// Creating new event Emitter
const newEventEmitter = new EventEmitter();
// Creating new event akash
newEventEmitter.on('akash', () => {});
// Creating new event hadii
newEventEmitter.on('hadii', function() {});
// Error monitor function
console.log(EventEmitter.errorMonitor);
// Creating new symbol event newSymbol
const newSym = Symbol('newSymbolofGeekyWorld');
newEventEmitter.on(newSym, () => {});
// Printing event Names
console.log(newEventEmitter.eventNames());
// Prints:[ 'akash', 'hadii',
// Symbol(newSymbolofGeekyWorld) ]
輸出:
Symbol(events.errorMonitor)
[ ‘akash’, ‘hadii’, Symbol(newSymbolofGeekyWorld) ]
範例2: 文件名:index.js
// Node.js program to demonstrate the
// emitter.eventNames() method
// Using require to access events module
const EventEmitter = require('events');
// Creating new event Emitter
const newEventEmitter = new EventEmitter();
// Creating a new callback function
const someCallback = () => {
console.log('Connected to something!');
};
// Creating new event connectSomething
newEventEmitter.on('connectSomething', someCallback);
// Creating new event alfa
newEventEmitter.prependListener('alfa', () => console.log('b'));
// Creating new event alfa, not added to eventnames array...
newEventEmitter.once('geeksforgeeks',
() => console.log('print in console...'));
// Creating new event alfa, not added to eventnames array...
newEventEmitter.prependOnceListener('geeksforgeeks',
() => console.log('geeksforgeeks'));
// Emitting geeksforgeeks event
newEventEmitter.emit('geeksforgeeks');
// Creating new symbol event newSymbolofGeekyWorld
const newSym = Symbol('newSymbolofGeekyWorld');
newEventEmitter.on(newSym, () => {});
// Printing event Names
console.log(newEventEmitter.eventNames());
// Removing connectSomething event
newEventEmitter.removeListener('connectSomething', someCallback);
// Printing event Names
console.log(newEventEmitter.eventNames());
使用以下命令運行index.js文件:
node index.js
輸出:
geeksforgeeks
print in console…
[ ‘connectSomething’, ‘alfa’, Symbol(newSymbolofGeekyWorld) ]
[ ‘alfa’, Symbol(newSymbolofGeekyWorld) ]
參考:https://nodejs.org/api/events.html#events_emitter_eventnames
相關用法
- Node.js console.timeLog()用法及代碼示例
- Node.js GM implode()用法及代碼示例
- Node.js GM drawPolygon()用法及代碼示例
- Node.js GM sharpen()用法及代碼示例
- Node.js GM edge()用法及代碼示例
- Node.js GM write()用法及代碼示例
- Node.js GM channel()用法及代碼示例
- Node.js GM roll()用法及代碼示例
- Node.js GM whiteThreshold()用法及代碼示例
- Node.js GM whitePoint()用法及代碼示例
- Node.js GM drawEllipse()用法及代碼示例
- Node.js GM threshold()用法及代碼示例
- Node.js GM chop()用法及代碼示例
- Node.js GM thumbnail()用法及代碼示例
- Node.js GM paint()用法及代碼示例
注:本文由純淨天空篩選整理自vikas_g大神的英文原創作品 Node.js emitter.eventNames() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。