//event.js 文件
var events = require('events');
var emitter = new events.EventEmitter();
//定义两个函数
var printsome1= function(arg1, arg2){
console.log('listener1', arg1, arg2);
}
var printsome2= function(arg1, arg2){
console.log('listener2', arg1, arg2);
}
emitter.on('someEvent', printsome1);
emitter.on('someEvent', printsome2);
//移除事件someEvent中的printsome1(移除的必须是已经注册过的事件)
emitter.removeListener('someEvent',printsome1);
emitter.emit('someEvent', 'arg1 参数', 'arg2 参数');
分享到:
相关推荐
Node.js大部分模块都是继承自EventEmitter类,这使得它们都能够发射和监听事件。这对于模块间的解耦、异步处理以及方便地与其他模块进行交互提供了强大支持。 与浏览器端的DOM事件处理不同,Node.js中的事件处理不...
这类库通常会实现基本的事件监听、触发和移除监听器的功能,但可能不包括更复杂的特性,如事件冒泡、事件捕获等。 在JavaScript开发-其它杂项这个标签下,我们可以推测这个库可能包含了一些特定的技巧或优化,使其...
- `removeListener`: 用于移除已经注册的事件监听器,防止内存泄漏。需要传入事件名和对应的回调函数。 在示例中,我们创建了一个`ticker`对象并注册了'tick'事件的监听器,每当'tick'事件被`emit`时,控制台会打印...
listenerCount,addlistener
- emitter.removeListener(event, listener):移除监听器。 - emitter.removeAllListeners(event):移除某个事件的所有监听器。 - emitter.setMaxListeners(n):设置监听器的最大数量。 - emitter.listeners...
- **`emitter.removeAllListeners(event)`**:移除所有事件监听器,或特定事件的所有监听器。 - **`emitter.setMaxListeners(n)`**:设置最大监听器数量。 - **`emitter.listeners(event)`**:返回一个数组,包含...
- **emitter.removeListener(event, listener)**:移除一个事件监听器。 - **emitter.removeAllListeners(event)**:移除所有的事件监听器。 - **emitter.setMaxListeners(n)**:设置最大监听器数量。 - **...
- **emitter.removeListener(event, listener)**:移除事件监听器。 - `emitter.removeListener()`: 移除指定的事件监听器。 - **emitter.removeAllListeners(event)**:移除所有事件监听器。 - `emitter....
1. 注册和注销事件监听器:允许在运行时动态添加或移除事件监听。 2. 广播事件:将事件发送给所有注册的监听器,而不仅仅是单个目标。 3. 分发事件:根据事件类型将事件分发到不同的处理函数。 4. 错误处理:提供...
EventEmitter类是事件处理的核心,它定义了添加监听器、触发事件和移除监听器的方法。理解事件驱动模型对于编写高效的异步代码至关重要。 3. **模块系统**:Node.js的模块系统支持CommonJS规范,通过require函数...
4. 移除监听器(removeListener方法):removeListener方法用于移除某个事件类型的监听器。该方法可以接受和on方法相同的参数。如果某个事件类型的监听器只有一个,则调用removeListener后,该事件类型的监听器会被...
- `process.on('exit', function() {})` 监听进程退出事件。 #### Request 模块 1. **HTTP 请求:** - `request` 模块简化了 HTTP 请求处理过程。 #### Async 模块 1. **异步任务控制:** - `async` 模块提供...
- **事件处理**:讲解事件监听器的添加与移除,以及常见事件类型的处理方法。 #### 三、Node.js核心模块 - **fs模块**:提供文件系统操作API,包括文件读写、目录管理等功能。 - **path模块**:提供路径操作API,...
4. **移除监听器(Removing Listeners)**:`eventEmitter.removeListener(eventName, listener)`可以移除指定的监听器,而`eventEmitter.removeAllListeners(eventName)`则会移除所有针对特定事件的监听器。...
- `removeListener`: 移除事件监听器。 - `listeners`: 获取事件的所有监听器数组。 #### 九、其他重要模块 1. **process模块**: 提供了与进程相关的API,包括进程信息、环境变量等。 2. **cluster模块**: 用于...
2. **事件驱动**: Node.js基于事件循环,通过监听和响应事件来处理任务,这提高了其性能和可扩展性。 3. **单线程模型**: 虽然Node.js只有一个主线程,但通过事件和回调函数,它可以同时处理大量并发请求。 4. **V8...
- **emitter.removeListener(event, listener)**: 移除监听器。 - **emitter.removeAllListeners(event)**: 移除所有监听器。 - **emitter.setMaxListeners(n)**: 设置最大监听器数量。 - **emitter.listeners(event...
:可移除监听器 :打开文件 :读取文件 :读取目录 :读取文件的全部内容 :文件 :将字符串文件 :将数据文件 :使用spawn :使用exec file.js:使用execFile 可读 :可读事件 :流停止触发数据事件 ...
3. **Express4.x 新特性**:Express4.x 引入了更简洁的 API 设计,移除了内置的模板引擎和 Jade 改为 EJS,默认不再包含 body-parser 和 cookie-parser 等中间件,需要手动安装。理解这些变化有助于你更好地适应新...