`

发布/订阅(Pub/Sub)模式的简单实现

阅读更多
var PubSub = {
        subscribe: function (ev, cb) {
            var calls = this._cbs || (this._cbs = {});
            (this._cbs[ev] || (this._cbs[ev] = [])).push(cb);
            return this;
        },
        publish: function () {
            var args = [].slice.call(arguments, 0);
            var ev = args.shift();

            var list, calls, i, l;
            if (!(calls = this._cbs)) return this;
            if (!(list = this._cbs[ev])) return this;

            for (i = 0, l = list.length; i < l; i++) {
                list[i].apply(this, args);
            }
            return this;
        }
    };

    PubSub.subscribe('hello', function (data) {
        console.log(data);
    });
    
    PubSub.publish('hello', '你好啊,我是参数。');

 

基于jquery的发布/订阅(Pub/Sub)实现:

(function () {
        var o = $({});
        
        $.subscribe = function() {
            o.bind.apply(o, arguments);
        };
        
        $.unsubscribe = function() {
            o.unbind.apply(o, arguments);
        };
        
        $.publish = function() {
            o.trigger.apply(o, arguments);
        };
    })(jQuery);

 

分享到:
评论

相关推荐

    zeromq的pub-sub订阅模式的jave实现

    在pub-sub模式下,发布者创建一个PUB类型套接字,订阅者创建一个SUB类型套接字。发布者向一个或多个主题发送消息,订阅者通过设置过滤器来决定接收哪些主题的消息。这种模式非常适合一对多的广播场景,例如实时数据...

    ActiveMQ的处理模式:PTP与PUB/SUB

    总结来说,ActiveMQ的PTP和PUB/SUB模式提供了灵活的消息处理方式,适应不同的业务场景。SpringBoot通过其强大的依赖注入和自动配置能力,使得与ActiveMQ的集成变得简单易行。开发者可以根据实际需求选择合适的消息...

    基于C++11模板实现的发布/订阅开发框架读取《雪中悍刀行》

    发布/订阅(Publish/Subscribe,简称Pub/Sub)是一种软件设计模式,它允许发送者(发布者)和接收者(订阅者)之间的解耦。在这个模式中,发布者并不直接将消息发送给特定的接收者,而是发布到一个主题或通道,而...

    ActiveMQ的点对点与发布/订阅模式小demo

    2. **发布/订阅模式(Publish/Subscribe,Pub/Sub)**: 发布/订阅模式基于主题(Topic)进行通信。生产者(发布者)发布消息到一个主题,多个消费者(订阅者)可以订阅这个主题并接收到消息。相比于点对点模式,...

    MQ7.0 pub/sub功能初步研究

    MQ7.0是IBM消息队列(Message Queue)的一个重要版本,相较于MQ6.1,它引入了许多新特性和改进,特别是在发布/订阅(pub/sub)功能方面。发布/订阅是一种异步消息传输机制,允许应用程序(发布者)在不关心具体接收...

    redis-spring-pub_sub

    标题 "redis-spring-pub_sub" 暗示了我们关注的是如何在Spring框架中使用Redis作为发布/订阅(pub/sub)消息系统。这个主题涵盖了两个主要方面:Redis的发布/订阅功能和Spring对它的集成。 Redis是一个高性能的键值...

    qt zmq 的使用:订阅模式:PUB(服务器)/SUB(客户端)

    订阅模式:PUB(服务器)/SUB(客户端) 一个简单的代码示例包含以下内容: 1. 智能指针的使用 2. 线程的使用 3. zmq的使用 这种服务即服务器会不停发送数据,然后客户端对其进行订阅,客户端会收到服务器发送的数据...

    Java实现Redis的消息订阅和发布

    首先,理解Redis的发布/订阅(Pub/Sub)模式是至关重要的。在这一模式下,Redis服务器作为消息的中间人,允许多个客户端(订阅者)订阅特定的主题,当有发布者向该主题发布消息时,所有订阅了该主题的客户端都会收到...

    zmq 发布,订阅模式 , DEOM

    在DEOM中的"ZmqTEST-PUB-SUB"可能是一个演示程序,展示了如何创建一个简单的发布/订阅系统。这个程序可能包含了两个部分:一个是发布者程序,它创建一个发布端点并发送一些消息;另一个是订阅者程序,它连接到发布者...

    redis绑定webSocket发布订阅连接推送

    Redis是一个高性能的键值存储系统,支持多种数据结构,如字符串、哈希、列表、集合、有序集合等,其中发布/订阅(pub/sub)模式是它的一个重要功能,用于实现消息的广播和订阅。 **Redis的发布/订阅(pub/sub)模式...

    C# Redis发布与订阅系统源码

    2. `RedisManager`: 负责初始化Redis连接和订阅/发布操作的类。 3. `Form1`: 主窗体,展示数据并响应Redis消息的更新。 4. `DataUpdater`: 负责监测数据库变化并发布消息到Redis的类。 在运行程序之前,确保已经在...

    redis订阅发布实现websocket集群.zip

    此外,Redis还提供发布/订阅(pub/sub)模式,允许消息发布者发送消息到频道,而多个订阅者可以实时接收这些消息。 在SpringBoot中集成WebSocket,通常会使用`WebSocketMessageBrokerConfigurer`接口来配置...

    基于分布式系统中的发布订阅核心技术

    发布/订阅(Publish/Subscribe,简称Pub/Sub)系统作为一种重要的消息传递模式,在分布式计算环境中扮演着核心角色。它允许发送者(发布者)将消息发送到特定的主题上,而不需要指定接收者(订阅者)。订阅者只需...

    hiredis的pub\sub管理代码

    其中,`Pub/Sub(发布/订阅)`是Redis提供的一种消息通信模式,它允许发送者(Publisher)发送消息到频道(Channel),而多个订阅者(Subscriber)可以同时监听并接收这些消息。在本案例中,我们关注的是`hiredis`库...

    Redis编程实践【pub/sub】

    在本实践中,我们将深入探讨 Redis 的发布订阅(pub/sub)功能,这是一种轻量级的通信模式,允许发送者(publisher)向多个接收者(subscriber)广播消息,而无需直接了解彼此。 首先,让我们理解 Redis pub/sub 的...

    ActiveMQ通信方式点对点和订阅发布

    本DEMO将深入探讨ActiveMQ中的两种主要通信模式:点对点(Point-to-Point,P2P)模型和发布/订阅(Publish/Subscribe,Pub/Sub)模型。 一、点对点(P2P)通信方式 1. 基本概念:在P2P模型中,消息从一个生产者...

    Redis中使用Java代码的方式实现发布订阅流程-订阅者示例代码.zip

    其中一个重要的特性就是发布/订阅(Publish/Subscribe,简称Pub/Sub)模式,它允许消息的发布者与订阅者进行异步通信,而无需直接互相了解对方。这个特性广泛用于构建实时消息传递系统、通知服务或者作为后台任务的...

    redis订阅,redis发布

    在 Redis 中,发布/订阅(pub/sub)是一种消息通信模式,允许生产者(发布者)向多个消费者(订阅者)广播消息,而无需直接知道对方的存在。这种模式对于实现实时通知、聊天系统或者构建事件驱动的应用非常有用。 *...

    基于netcore 3.0的redis发布订阅示例代码

    在本文中,我们将深入探讨如何使用.NET Core 3.0框架与Redis进行发布/订阅(Pub/Sub)通信。Redis是一个高性能的键值存储系统,它提供了丰富的数据结构,如字符串、哈希表、集合和有序集合。在.NET Core 3.0中,我们...

Global site tag (gtag.js) - Google Analytics