博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
发布订阅模式
阅读量:6583 次
发布时间:2019-06-24

本文共 1191 字,大约阅读时间需要 3 分钟。

//node事件模块 function Event () {
this.cacheEvent = {} } Event.prototype.on = function (type, handle) {
if (!this.cacheEvent[type]){
this.cacheEvent[type] = [handle] } else {
this.cacheEvent[type].push(handle) } } Event.prototype.emmit = function () {
const type = arguments[0] const arg = Array.prototype.slice.call(arguments, 1) if (this.cacheEvent[type]) {
for(let i = 0; i < this.cacheEvent[type].length; i++){
this.cacheEvent[type][i](...arg) if (this.cacheEvent[type][i].flag){
this.cacheEvent[type].splice(i,1) } } } } Event.prototype.remove = function (type, handle) {
this.cacheEvent[type] = this.cacheEvent[type].filter(item => {
return item !== handle }) } Event.prototype.empty = function (type) {
this.cacheEvent[type] = [] } Event.prototype.once = function (type, handle) {
handle.flag = true if (!this.cacheEvent[type]){
this.cacheEvent[type] = [handle] } else {
this.cacheEvent[type].push(handle) } }

转载于:https://www.cnblogs.com/CoderZX/p/10659380.html

你可能感兴趣的文章
AWS AURORA  CPU 100% 的解决方案
查看>>
第94课:SparkStreaming 实现广告计费系统中在线黑名单过滤实战
查看>>
CISCO HSRP
查看>>
linux用户和组
查看>>
人生历程
查看>>
sql语句 (根据网络资料整理)
查看>>
gnome topIcons
查看>>
Visual Studio 2010生成dll并使用
查看>>
生物医药领域科技成果专场圆满落幕
查看>>
C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)
查看>>
我的友情链接
查看>>
openGL画一个正5角星
查看>>
JDBC技术预研选型依据【转】
查看>>
我的友情链接
查看>>
celery周期性任务
查看>>
Cassandra – 理解关键概念和数据模型
查看>>
进阶PHP需要注意的一些点
查看>>
Java反射讲解-实例(1)
查看>>
Docker中安装oracle 11.2.0.4
查看>>
Uncompressing Linux... done, booting the kernel
查看>>