event

node.js 学习随笔

好久不见. 提交于 2020-03-30 04:41:41
node.js 非阻塞型I/O及事件环机制 安装 nodejs.org Node.js REPL(交互式解释器) 读取:读取用户输入,解析输入了javascript数据结构并存储在内存中 执行:执行输入的数据结构 打印:输出结果 循环:循环操作以上步骤直到用户两次按下ctrl+c按钮退出。 REPL 命令 ctrl + c - 退出当前终端。 ctrl + c 按下两次 - 退出 Node REPL。 ctrl + d - 退出 Node REPL. 向上/向下 键 - 查看输入的历史命令 tab 键 - 列出当前命令 .help - 列出使用命令 .break - 退出多行表达式 .clear - 退出多行表达式 .save filename - 保存当前的 Node REPL 会话到指定文件 .load filename - 载入当前 Node REPL 会话的文件内容。 回调函数 //阻塞代码实例 var fs = require("fs"); var data = fs.readFileSync('input.txt'); console.log(data.toString()); console.log("程序执行结束"); //非阻塞式代码实例 var fs = require("fs"); fs.readFile('input.txt',function(err

手动实现一个eventEmitter

本小妞迷上赌 提交于 2020-03-30 04:37:57
观察者模式在前端开发中非常常用,我们经常用的事件就是观察者模式的一种体现。它对我们解耦模块、开发基于消息的业务起着非常重要的作用。Node.js 原生自带 EventEmitter 模块,可见它的重要性。 作为在工作中经常遇到和面试的经典题目当然要琢磨透彻,下面一步步手动写一个eventEmitter 首先,我们要知道EE的api是什么样的 node的EventEmitter包含了很多常用的API,我们一一来介绍几个实用的API. 方法名 方法描述 addListener(event, listener) 为指定事件添加一个监听器到监听器数组的尾部。 prependListener(event,listener) 与addListener相对,为指定事件添加一个监听器到监听器数组的头部。 on(event, listener) 其实就是addListener的别名 once(event, listener) 为指定事件注册一个单次监听器,即 监听器最多只会触发一次,触发后立刻解除该监听器。 removeListener(event, listener) 移除指定事件的某个监听器,监听器必须是该事件已经注册过的监听器 off(event, listener) removeListener的别名 removeAllListeners([event]) 移除所有事件的所有监听器,

Node.js API —— Events(事件)

扶醉桌前 提交于 2020-03-30 04:17:53
// 说明 Node API 版本为 v0.10.31。 中文参考: http://nodeapi.ucdok.com/#/api/ , http://blog.sina.com.cn/oleoneoy 本段为博主注解。 目录 ● 事件 ○ Class: events.EventEmitter ■ emitter.addListener(event, listener) ■ emitter.on(event, listener) ■ emitter.once(event, listener) ■ emitter.removeListener(event, listener) ■ emitter.removeAllListener([events]) ■ emitter.setMaxListener(n) ■ emitter.listeners(event) ■ emitter.emit(event, [arg1], [arg2], [...]) ■ Class Method: EventEmitter.listenerCount(emitter, event) ■ Event: 'new listener' ■ Event: 'removeListener' 事件 稳定性:4 - API 冻结 Node 的很多对象都会发射事件: net.Server

线程_事件

谁说我不能喝 提交于 2020-03-29 10:10:46
线程的一个关键特性是每个线程都是独立运行且状态不可预测。 如果程序中的其他线程需要通过判断某个线程的状态来确定自己下一步的操作,这时我们需要使用threading库中的Event对象。 event.set():设置事件状态为True event.wait ():等待event.set 把事件状态设置为True event.is_set():检查事件状态是否为True #事件 from threading import Thread,current_thread,Event import threading import time,random def conn_mysql(): count=1 while not event.is_set(): if count>2: break print("%s 第%s次 尝试链接" %(current_thread().getName(),count)) event.wait(0.1) count+=1 print("%s 第%s次 链接成功" %(current_thread().getName(),count)) def check_mysql(): print("%s 正在检查mysql"%current_thread().getName()) time.sleep(random.randint(1,2)) event.set() if

浏览器兼容:IE6,IE7,IE8,FIREFOX,Chrome

血红的双手。 提交于 2020-03-29 08:00:54
javascript部分 1. document.form.item 问题 问题: 代码中存在 document.formName.item("itemName") 这样的语句,不能在FF下运行 解决方法: 改用 document.formName.elements["elementName"] 2. 集合类对象问题 问题: 代码中许多集合类对象取用时使用(),IE能接受,FF不能 解决方法: 改用 [] 作为下标运算,例: document.getElementsByName("inputName")(1) 改为 document.getElementsByName("inputName")[1] 3. window.event 问题: 使用 window.event 无法在FF上运行 解决方法: FF的 event 只能在事件发生的现场使用,此问题暂无法解决。可以把 event 传到函数里变通解决: onMouseMove = "functionName(event)" function functionName (e) { e = e || window.event; ...... } 4. HTML对象的 id 作为对象名的问题 问题: 在IE中,HTML对象的 ID 可以作为 document 的下属对象变量名直接使用,在FF中不能 解决方法: 使用对象变量时全部用标准的

C#事件の事件处解

自闭症网瘾萝莉.ら 提交于 2020-03-29 04:48:37
C# 事件(Event) 事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些出现,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。事件是用于进程间通信。 通过事件使用委托 事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。包含事件的类用于发布事件。这被称为 发布器(publisher) 类。其他接受该事件的类被称为 订阅器(subscriber) 类。事件使用 发布-订阅(publisher-subscriber) 模型。 发布器(publisher) 是一个包含事件和委托定义的对象。事件和委托之间的联系也定义在这个对象中。发布器(publisher)类的对象调用这个事件,并通知其他的对象。 订阅器(subscriber) 是一个接受事件并提供事件处理程序的对象。在发布器(publisher)类中的委托调用订阅器(subscriber)类中的方法(事件处理程序)。 声明事件(Event) 在类的内部声明事件,首先必须声明该事件的委托类型。例如: public delegate void BoilerLogHandler(string status); 然后,声明事件本身,使用 event 关键字: // 基于上面的委托定义事件 public event BoilerLogHandler

C# 事件(Event)

萝らか妹 提交于 2020-03-29 04:48:16
事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些出现,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。事件是用于进程间通信。 通过事件使用委托 事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。包含事件的类用于发布事件。这被称为 发布器(publisher) 类。其他接受该事件的类被称为 订阅器(subscriber) 类。事件使用 发布-订阅(publisher-subscriber) 模型。 发布器(publisher) 是一个包含事件和委托定义的对象。事件和委托之间的联系也定义在这个对象中。发布器(publisher)类的对象调用这个事件,并通知其他的对象。 订阅器(subscriber) 是一个接受事件并提供事件处理程序的对象。在发布器(publisher)类中的委托调用订阅器(subscriber)类中的方法(事件处理程序)。 声明事件(Event) 在类的内部声明事件,首先必须声明该事件的委托类型。例如: public delegate void BoilerLogHandler(string status); 然后,声明事件本身,使用 event 关键字: // 基于上面的委托定义事件 public event BoilerLogHandler BoilerEventLog;

Squad 脚本

前提是你 提交于 2020-03-28 03:51:28
--罗技G502鼠标 SUQAD 自动压枪脚本,作者 Haidnor- --全局功能定义区------------------------------- --是否允许控制台报告开启状态 consoleReport = true --是否开启控制台输出按键事件和按键编号 outputEventAndArg = false --入口函数区------------------------------------ function OnEvent(event,arg) if (event == "PROFILE_ACTIVATED") then EnablePrimaryMouseButtonEvents(true) elseif event == "PROFILE_DEACTIVATED" then EnablePrimaryMouseButtonEvents(false) end if outputEventAndArg then ClearLog() OutputLogMessage("event = %s, arg = %d\n", event, arg) end main(event,arg) end --主函数,所有的鼠标按键事件都从该函数进入 --event 鼠标事件 --arg 鼠标按键参数 main = function(event,arg) if event ==

js实现HTML标题栏中新消息提示效果

陌路散爱 提交于 2020-03-27 13:13:56
js页面新消息提示 多加了一个变量isusing,默认值为false,判断是否是newMessageRemind.show()是否已运行,如果运行,不提示,否则提示。 点击document时取消提示。 <!DOCTYPE html> <html> <head> <title>js页面新消息提示</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <input id="test" type="button" value="确定" /> <script> var isusing = false; var newMessageRemind={ _step: 0, _title: document.title, _timer: null, //显示新消息提示 show:function(){ var temps = newMessageRemind._title.replace("【   】", "").replace("【新消息】", ""); newMessageRemind._timer = setTimeout(function() { newMessageRemind.show(); newMessageRemind._step++; if

js高级编号笔记[新]-事件

可紊 提交于 2020-03-27 08:07:13
1.Event 对象对该文档而言是透明的,可将其看成是全局变量使用 2.事件上溯(Bubble,也称冒泡),IE和非IE事件传播方向也不一样,IE多数事件是由它们发生的地方开始向上回溯继承关系, 非IE:事件可能从顶端对象开始至末端对象结束 3.任何事件发生后生成的Event 对象对该文档而言是透明的,可将其看成是全局变量使用 4.IE阻止事件上溯设置Event 对象的cancleBubble 属性为true 5.事件改向: object.fireEvent(arg1,arg2); 该方法需要给定两个参数arg1 和arg2,其中参数arg1 表示目标对象的事件处理器,参 数arg2 表示当前事件如: function ChangeDir() { msg+="-->事件定位于Td,准备事件转向\n\n"; event.cancelBubble=true; document.body.fireEvent("onclick",event); } 6.事件捕获 document.captureEvents(Event.MOUSEDOWN); document.onmousedown=MyHandler; 如果需要捕捉多个事件,各事件之间要用管道符“|”隔开。如捕获文档中所有的Click 和DbClick 事件可使用如下语句: document.captureEvents(Event