全局订阅发布模式

简介: var Event = (function () { var clientList = {}, listen, trigger, remove listen = function (key, fn) { if (!cli...
var Event = (function () {
    var clientList = {},
        listen,
        trigger,
        remove
    listen = function (key, fn) {
        if (!clientList[key]) {
            clientList[key] = []
        }
        clientList[key].push(fn)
    }
    trigger = function () {
        var key = [].shift.apply(arguments),
            fns = clientList[key]
        if (!fns || !fns.length) {
            return
        }
        for (var i = 0, fn; fn = fns[i++];) {
            fn.apply(this, arguments)
        }
    }
    remove = function (key, fn) {
        var fns = clientList[key]
        if (!fns) {
            return
        }
        if (!fn) {
            fns && (fns.length = 0)
        } else {
            for (var l = fns.length - 1; l >= 0; l--) {
                if (fns[l] === fn) {
                    fns.splice(l, 1)
                }
            }
        }
    }
    return {
        listen: listen,
        trigger: trigger,
        remove: remove
    }
})()

Event.listen('88', function (data) {
    console.log(data, '88')
})
Event.trigger('88', 1232)
相关文章
|
Android开发 数据安全/隐私保护 iOS开发
ios和安卓测试包发布网站http://fir.im的注册与常用功能
ios和安卓测试包发布网站http://fir.im的注册与常用功能
904 0
ios和安卓测试包发布网站http://fir.im的注册与常用功能
|
11月前
|
机器学习/深度学习 人工智能 算法
基于GRNN广义回归网络和MFCC的语音情绪识别matlab仿真,对比SVM和KNN
该语音情绪识别算法基于MATLAB 2022a开发,可识别如悲伤等情绪,置信度高达0.9559。核心程序含中文注释及操作视频。算法采用MFCC特征提取与GRNN广义回归网络,通过预加重、分帧、加窗、FFT、梅尔滤波器组、对数运算和DCT等步骤处理语音信号,实现高效的情绪分类。
|
移动开发 前端开发 搜索推荐
前端基础101之HTML总结
【8月更文挑战第1天】
127 4
|
数据采集 缓存 安全
http代理在seo优化中起到了什么作用呢?
HTTP代理在SEO优化中扮演多重角色:助力账号管理,实现精确关键词搜索,制定竞争策略,调整网站排名,以及安全爬取数据。注意合理合法使用代理IP,选择稳定快速的优质代理,并保持IP缓存的更新以优化网站排名。正确运用http代理IP可有效提升SEO效果。
119 0
http代理在seo优化中起到了什么作用呢?
|
监控 应用服务中间件 测试技术
手把手教你搭建SpringCloud项目(十)集成Hystrix之服务降级
手把手教你搭建SpringCloud项目(十)集成Hystrix之服务降级
313 0
|
SQL Java 数据库连接
Hibernate中的Session对象
Hibernate中的Session对象
|
存储 算法 Linux
关于c语言内存地址对齐的一点思考
关于c语言内存地址对齐的一点思考
274 0
|
弹性计算 Linux 网络安全
ECS试用体验
2周以来的ESC使用体验
|
机器学习/深度学习 算法 数据可视化
能帮你更好理解分析深度卷积神经网络,今天要解读的是一款新型可视化工具——CNNVis,看完就能用!
深度卷积神经网络(CNNs)在许多模式识别任务中取得了很大的性能突破, 然而高质量深度模型的发展依赖于大量的尝试,这是由于没有很好的理解深度模型是怎么工作的,在本文中,提出了一个可视化分析系统CNNVis,帮助机器学习专家更好的理解、分析、设计深度卷积神经网络。
25627 0
|
Web App开发 网络架构
loadrunner通过web的post请求方法测接口 1
loadrunner通过web的post请求方法测接口 loginapi() {     web_url("rest",          "URL=http://192.168.117.154/router/rest",          "Resource=0",          "...
1917 0