javascript 活动PubSub
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 活动PubSub相关的知识,希望对你有一定的参考价值。
var events = {
events: {},
/**
* Subscribe to an event
* @param {string} eventName
* @param {*} fn
*/
on: function(eventName, fn) {
this.events[eventName] = this.events[eventName] || [];
this.events[eventName].push(fn);
},
/**
* Unsubscribe from an event
* @param {string} eventName
* @param {*} fn
*/
off: function(eventName, fn) {
if (this.events[eventName]) {
for (var i = 0; i < this.events[eventName].length; i++) {
if (this.events[eventName][i] === fn) {
this.events[eventName].splice(i, 1);
break;
}
};
}
},
/**
* Publish an event
* @param {string} eventName
* @param {*} data
*/
emit: function(eventName, data) {
if (this.events[eventName]) {
this.events[eventName].forEach(function(fn) {
fn(data);
});
}
}
};
以上是关于javascript 活动PubSub的主要内容,如果未能解决你的问题,请参考以下文章
javascript PubSub / EventBus / Mediator JavaScript模式
JavaScript 中 PubSub / 过多事件和事件处理程序的性能成本?
javascript pubsub - 缓存obj
JavaScript 优雅的Pubsub与jQuery
javascript发布订阅pubsub模式
javascript AW pubsub(工作belove及以上子或酒吧)