
- Node.js 教程
- Node.js - 首頁
- Node.js - 簡介
- Node.js - 環境搭建
- Node.js - 第一個應用
- Node.js - REPL 終端
- Node.js - 命令列選項
- Node.js - 包管理器 (NPM)
- Node.js - 回撥函式概念
- Node.js - 上傳檔案
- Node.js - 傳送郵件
- Node.js - 事件
- Node.js - 事件迴圈
- Node.js - 事件發射器
- Node.js - 偵錯程式
- Node.js - 全域性物件
- Node.js - 控制檯
- Node.js - 程序
- Node.js - 應用程式擴充套件
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTFul API
- Node.js - 緩衝區
- Node.js - 流
- Node.js - 檔案系統
- Node.js MySQL
- Node.js - MySQL 入門
- Node.js - MySQL 建立資料庫
- Node.js - MySQL 建立表
- Node.js - MySQL 插入資料
- Node.js - MySQL 查詢資料
- Node.js - MySQL 條件查詢
- Node.js - MySQL 排序
- Node.js - MySQL 刪除資料
- Node.js - MySQL 更新資料
- Node.js - MySQL 聯接
- Node.js MongoDB
- Node.js - MongoDB 入門
- Node.js - MongoDB 建立資料庫
- Node.js - MongoDB 建立集合
- Node.js - MongoDB 插入資料
- Node.js - MongoDB 查詢資料
- Node.js - MongoDB 查詢
- Node.js - MongoDB 排序
- Node.js - MongoDB 刪除資料
- Node.js - MongoDB 更新資料
- Node.js - MongoDB 限制結果
- Node.js - MongoDB 聯接
- Node.js 模組
- Node.js - 模組
- Node.js - 內建模組
- Node.js - 實用程式模組
- Node.js - Web 模組
- Node.js 有用資源
- Node.js - 快速指南
- Node.js - 有用資源
- Node.js - 討論
NodeJS - emitter.getMaxListeners() 方法
emitter.getMaxListeners() 方法將幫助我們返回 eventEmitter 的當前最大監聽器限制值,該值由 emitter.setMaxListeners(n) 設定。
此方法除了返回 eventEmitter 的最大監聽器限制之外,不會執行任何其他操作。
此方法屬於Eventemitter類,它是 node:events 模組的內建類。
語法
以下是 NodeJs emitter.getMaxListeners() 方法的語法:
emitter.getMaxListners()
引數
- 此方法不接受任何引數。
返回值
此方法將返回偵聽名為 eventName 的事件的監聽器函式的數量。
示例 1
以下是 NodeJs emitter.getMaxListeners() 方法的基本示例。
最初,我們匯入了 node:events 模組。然後,我們將單個監聽器函式 ‘f1()’ 與 eventName ‘myEvent’ 一起傳遞給 emitter.addListener() 方法。然後,我們透過將 ‘myEvent’ 作為引數呼叫了 emitter.getMaxListeners() 方法。它返回 ‘10’,因為“預設情況下,EventEmitters 對於特定事件僅接受 10 個監聽器”。
const EventEmitter = require('node:events'); const myEmitter = new EventEmitter(); function f1(){ }; myEmitter.addListener('myEvent', f1); console.log(myEmitter.getMaxListeners());
輸出
以上程式產生以下輸出:
10
示例 2
在此程式中,我們再次將單個監聽器函式 ‘f1()’ 與 eventName ‘myEvent’ 一起傳遞給 emitter.addListener() 方法。然後,我們透過將預設限制修改為 1 來呼叫 emitter.setMaxListeners() 方法。
const EventEmitter = require('node:events'); const myEmitter = new EventEmitter(); function f1(){ }; myEmitter.setMaxListeners(1); myEmitter.addListener('myEvent', f1); console.log(myEmitter.getMaxListeners());
輸出
以上程式產生以下輸出:
1
示例 3
在此程式中,我們將監聽器限制設定為 ‘1’ 到特定事件 ‘myEvent’,並且我們向名為 ‘myEvent’ 的同一事件添加了 4 個監聽器。因此,EventEmitter 將丟擲一個警告訊息,即“檢測到記憶體洩漏”。
const EventEmitter = require('node:events'); const myEmitter = new EventEmitter(); function f1(){ }; function f2(){ }; function f3(){ }; function f4(){ }; myEmitter.setMaxListeners(1); myEmitter.addListener('myEvent', f1); myEmitter.addListener('myEvent', f2); myEmitter.addListener('myEvent', f3); myEmitter.addListener('myEvent', f4); console.log(myEmitter.getMaxListeners());
輸出
以上程式產生以下輸出:
1 (node:33292) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 2 myEvent listeners added to [EventEmitter]. Use emitter.setMaxListeners() to increase limit (Use `node --trace-warnings ...` to show where the warning was created)