Node3-3基础API----event(事件触发器)

1.基础(on)

// 如果像对象享有事件能力就要集成EventEmitter
const EventEmitter = require(‘events‘)
//集成EventEmitter类
class CustomEvent extends EventEmitter{

}
// 实例化对象
const ce = new CustomEvent()
//绑定一个事件名
ce.on(‘test‘,()=>{
    console.log(‘this is a test‘);
})

setInterval(()=>{
    ce.emit(‘test‘)
},500)

运行效果就是不断的执行this is a test

2.传一些参数,基础信息

const EventEmitter = require(‘events‘)

class CustomEvent extends EventEmitter{}
const ce = new CustomEvent() 

ce.on(‘error‘,(err,time)=>{
    console.log(err);
    console.log(time);

});

ce.emit(‘error‘,new Error(‘oops!‘),Date.now())

3.执行一次就好了 once(下面即使是像之前on那样操作,也就是每个500毫秒执行一次,可是运行之后也就执行一次而已)

const EventEmitter = require(‘events‘)
class CustomEvent extends EventEmitter{}

const ce = new CustomEvent()
ce.once(‘test‘,()=>{
    console.log(‘test event‘);

})
setInterval(()=>{
    ce.emit(‘test‘)
},500)

4.移除工作,绑定了一些事件在某些场景下需要移除掉(removeListener  或者 removeAllListener)

const EventEmitter = require(‘events‘)
class CustomEvent extends EventEmitter{}
function fn1(){
    console.log(‘fn1‘);
}
function fn2(){
    console.log(‘fn2‘);
}
const ce = new CustomEvent()
ce.on(‘test‘,fn1)
ce.on(‘test‘,fn2)
setInterval(()=>{
    ce.emit(‘test‘)
},500)
setTimeout(()=>{
    // ce.removeListener(‘test‘,fn2)
    // ce.removeListener(‘test‘,fn1)
    //移除所有事件名的事件
    ce.removeAllListeners(‘test‘)
},1500)

原文地址:https://www.cnblogs.com/chorkiu/p/11419216.html

时间: 2024-10-20 04:52:01

Node3-3基础API----event(事件触发器)的相关文章

java实现对Google Calendar API event 事件的添加

参考文档: 参考demo: CalendarSample.java /*  * Copyright (c) 2010 Google Inc.  *  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except  * in compliance with the License. You may obtain a copy of the License

trigger()的event事件对象之坑

问题引入,先贴一段有问题的代码,如果你对 trigger()  这个函数了解不透彻,还真看不出这段代码错在哪.完成的功能是样式转换器,想让页面在加载后自行触发点击事件隐藏三个按钮,但是效果如图并没有隐藏按钮们:控制台会报错: target  属性是 undefined ,肯定是 event 这个事件对象没获取到的问题,程序到17行出错停止,这让我感到疑问:自定义触发的事件难道没有event对象吗?. 1 <div id="switcher" class="switche

Html5之高级-11 拖放API (拖放事件、dataTransfer对象、setDragImage方法)

一.拖放API WEB 拖放 - 在桌面应用程序上,可以将元素从一个位置拖放到另一个位置,但在Web上,开发者没有一种能够实现这种操作的标准技术,从而在Web上去实现这个功能并不太容易 - 在 HTML5 标准中引入了拖放API,从而使我们有可能开发出于桌面应用程序完全相同的 Web应用程序 源元素事件 - 在拖放 API 中引入了一些新的事件,其中有一些元素是由源元素(拖动的元素)触发,称之为源元素事件,另一些事件由目标元素触发(源元素投放的元素) - 源元素事件: - dragstart:当

13 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件  queue队列 生产者消费者模型 Queue队列 开发一个线程池

本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queue队列 开发一个线程池 进程 语法 进程间通讯 进程池 操作系统发展史 手工操作(无操作系统) 1946年第一台计算机诞生--20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式. 手工操作程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把

Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数、ColModel API、事件及方法

系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件及方法 Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页.搜索.格式化.自定义按钮 Web jquery表格组件 JQGrid 的使用 - 6.准备工作 & Hello JQGrid Web jquery表格组件 JQGrid 的使用 - 7.查询数据.编辑数据.删除数据

javascript事件触发器fireEvent和dispatchEvent

javascript事件触发器fireEvent和dispatchEvent 事件触发器就是用来触发某个元素下的某个事件,IE下fireEvent方法,高级浏览器(chrome,firefox等)有dispatchEvent方法. 一般我们在元素上绑定事件后,是靠用户在这些元素上的鼠标行为来捕获或者触发事件的,或者自带的浏览器行为事件,比如click,mouseover,load等等,有些时候我们需要自定义事件或者在特定的情况下需要触发这些事件.这个时候我们可以使用IE下fireEvent方法,

jquery api 常见 事件操作

change.html 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 <html> 3 <head> 4 <title>ready.html</title> 5 <meta http-equiv="content-type" content="text/html; charset=UTF-8"

JS中event事件

JS事件基础 1.event对象 (1)用来获取事件的详细信息:鼠标位置.键盘位置 document的本质:document.childNodes[0].tagName     例子:获取鼠标位置:clientX横坐标,clientY纵坐标 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script>

Node.js 事件触发器详细总结

Api目录 1.简单的注册.触发事件的流程 2.eventEmitter.defaultMaxListeners 3.emitter.setMaxListeners(n) 4.emitter.getMaxListeners(n) 5.emitter.prependListener(eventName, listener); 6.emitter.prependOnceListener(eventName, listener) 7.emitter.removeListener(eventName,

Event事件详解

首先提到event,先要明白event的产生,也要先明白焦点,什么是焦点.焦点 : 使浏览器能够区分用户输入的对象,当一个元素有焦点的时候,那么他就可以接收用户的输入. 我们可以通过一些方式给元素设置焦点.而并不是所有元素都能够接收焦点的,能够响应用户操作的元素才有焦点.例如: <input type="text" /> <a href="http://www.baidu.com">百度</a> 说到input,平时用的较多的是o