- 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.emit() 方法
emitter.emit() 方法会同步调用注册到名为 eventName 的事件的所有监听器,并按注册顺序依次调用,同时将参数传递给每个监听器函数。
此方法属于 Eventemitter 类,它是 node:events 模块的内置类。
语法
以下是 NodeJs emitter.emit() 方法的语法:
emitter.emit(eventName[, …args])
参数
此方法接受以下两个参数:
- eventName:这是方法的第一个参数,它保存事件的名称。它可以是字符串或符号。
- args:(可选) 此参数保存一组可以传递给监听器函数的参数。
返回值
(布尔值) 如果事件有监听器,则此方法返回 true;如果事件没有监听器,则返回 false。
示例 1
以下是 NodeJs emitter.emit() 方法的基本示例。
在这里,我们将 args 传递给了 myEmitter.emit() 方法。args 将传递给监听器函数,然后打印完整的消息。
const EventEmitter = require('node:events');
const myEmitter = new EventEmitter();
function f1(arg1, arg2){
console.log(`${arg1} to ${arg2}`);
}
myEmitter.on('myEvent', f1);
myEmitter.emit("myEvent", 'Welcome', 'Tutorialspoint', 'Bye');
输出
以上程序产生以下输出:
Welcome to Tutorialspoint
示例 2
首先,我们创建了一个包含消息的函数 func1。然后,我们调用了 emitter.addListener() 方法,将 eventName 作为第一个参数传递,并将 (func1) 传递给方法的 listener 参数,通过调用 myEmitter.emit() 方法并传入 eventName。由于我们在这里没有传递任何 args。由于 eventName 有一个监听器,因此 myEmitter.emit() 方法将返回监听器函数。
const EventEmitter = require('node:events');
const myEmitter = new EventEmitter();
function f1() {
console.log("Heya!, i'm function1");
}
myEmitter.addListener("myEvent", f1)
myEmitter.emit("myEvent");
输出
以上程序产生以下输出:
Heya!, i'm function1
示例 3
在这个程序中,我们使用了扩展运算符 (…) 来提取我们传递的每个 args。因此,所有 args 都将被提取并传递给监听器函数。
const EventEmitter = require('node:events');
const myEmitter = new EventEmitter();
function f1(...args){
const teams = args.join(', ');
console.log(`Some International cricket teams are ${teams}.`);
}
myEmitter.on('myEvent', f1);
myEmitter.emit("myEvent", 'India', 'Pakistan', 'Australia', 'England');
输出
以上程序产生以下输出:
Some International cricket teams are India, Pakistan, Australia, England.
nodejs_events.htm
广告
