javascript发布订阅模型

用来统一消息,后续可开发些便捷功能
网上找到的一个基础模型

var pubsub = (function(){
    var q = {}
        topics = {},
        subUid = -1;
    q.publish = function(topic, args) {
        if(!topics[topic]) {return;}
        var subs = topics[topic],
            len = subs.length;
        while(len--) {
            subs[len].func(topic, args);
        }
        return this;
    };
    q.subscribe = function(topic, func) {
        topics[topic] = topics[topic] ? topics[topic] : [];
        var token = (++subUid).toString();
        topics[topic].push({
            token : token,
            func : func
        });
        return token;
    };
    return q;
})();

原文章地址

Categories: javaScript, 前端开发