
- 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 條件查詢 (Where)
- Node.js - MySQL 排序 (Order By)
- Node.js - MySQL 刪除資料
- Node.js - MySQL 更新資料
- Node.js - MySQL 連線查詢 (Join)
- 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 資料限制 (Limit)
- Node.js - MongoDB 連線查詢 (Join)
- Node.js 模組
- Node.js - 模組
- Node.js - 內建模組
- Node.js - 實用程式模組
- Node.js - Web 模組
- Node.js 有用資源
- Node.js - 快速指南
- Node.js - 有用資源
- Node.js - 討論
NodeJS - emitter.prependListener() 方法
此方法將把作為監聽器函式傳遞的函式新增到名為 eventName 的事件的監聽器陣列的開頭。無法檢查監聽器是否已新增到監聽器陣列。
如果多次呼叫 `emitter.prependListener()` 方法並傳入 eventName 和 listener 的相同組合,則監聽器函式將被新增到監聽器陣列的開頭,並將被多次呼叫。
此方法屬於 `Eventemitter` 類,它是 node:events 模組的內建類。
語法
以下是 NodeJs `emitter.prependListener() ` 方法的語法:
emitter.prependListener(eventName, listener)
引數
此方法接受兩個引數,如下所述。
- **eventName**: (必需) 這是方法的第一個引數,它儲存事件的名稱。可以是字串或符號。
- **listener**: (必需) 此引數儲存回撥函式。
返回值
此方法返回 EventEmitter 的引用,以便可以連結呼叫。
示例 1
以下是 NodeJs `emitter.prependListener()` 方法的基本示例。
在這裡,我們建立了四個函式 f1、f2、f3 和 f4,其中包含一條訊息。然後,我們使用 myEmitter.on() 方法呼叫了 f1、f2 和 f3。它將根據呼叫的順序新增監聽器函式。稍後,我們使用 emitter.prependListener() 方法呼叫了監聽器函式 f4。因此,f4 將被新增到監聽器陣列的開頭。如果我們編譯並執行程式,f4 將首先返回,然後是其餘的。
const EventEmitter = require('node:events'); const myEmitter = new EventEmitter(); function f1(){ console.log("Func1 is added"); } function f2(){ console.log("Fucn2 is added"); } function f3(){ console.log("Fucn3 is added"); } function f4(){ console.log("Fucn4 is added"); } myEmitter.on("myEvent", f1); myEmitter.on("myEvent", f2); myEmitter.on("myEvent", f3); myEmitter.prependListener("myEvent", f4); myEmitter.emit("myEvent");
輸出
上述程式產生以下輸出:
Fucn4 is added Func1 is added Fucn2 is added Fucn3 is added
示例 2
在這個程式中,我們建立了四個函式 f1、f2、f3 和 f4,其中包含一條訊息。然後,我們使用 myEmitter.on() 方法呼叫了所有四個函式,並且我們沒有使用 emitter.prependListener() 方法呼叫任何函式。因此,當我們編譯並執行程式時,myEmitter.on() 方法將根據呼叫的順序返回監聽器函式。
const EventEmitter = require('node:events'); const myEmitter = new EventEmitter(); function f1(){ console.log("Func1 is added"); } function f2(){ console.log("Fucn2 is added"); } function f3(){ console.log("Fucn3 is added"); } function f4(){ console.log("Fucn4 is added"); } myEmitter.on("myEvent", f1); myEmitter.on("myEvent", f2); myEmitter.on("myEvent", f3); myEmitter.on("myEvent", f4); myEmitter.emit("myEvent");
輸出
上述程式產生以下輸出:
Func1 is added Fucn2 is added Fucn3 is added Fucn4 is added
示例 3
在這個程式中,我們使用 emitter.prependListener() 方法呼叫了 eventName 和 listener 的相同組合。因此,emitter.prependListener() 方法會將監聽器新增到監聽器陣列的開頭,並且會多次呼叫。當我們編譯並執行程式時,f2 函式將被多次呼叫。
const EventEmitter = require('node:events'); const myEmitter = new EventEmitter(); function f1(){ console.log("Func1 is added"); } function f2(){ console.log("Fucn2 is added"); } myEmitter.on("myEvent", f1); myEmitter.prependListener("myEvent", f2); myEmitter.prependListener("myEvent", f2); myEmitter.prependListener("myEvent", f2); myEmitter.emit("myEvent");
輸出
上述程式產生以下輸出:
Fucn2 is added Fucn2 is added Fucn2 is added Func1 is added