1.0.3 • Published 1 year ago
ray-eventpool v1.0.3
eventpool
事件总线处理器
basic eventpool
import { EventPool } from 'ray-eventpool';
// 监听事件
EventPool.bind('myEvent5', function(event, args, fn) {
alert('Publish Message 4th Times with args : ' + args);
fn(args);
});
// 触发事件
function pubshMsg(){
EventPool.trigger("myEvent5", [ "hello", function(args){
alert(args);
}]);
}basic EventPubSub
subscribe 同 bind监听事件unsubscribe 同 unbind取消监听one绑定一次事件publish 同 trigger触发事件publishHandler 同 triggerHandler触发事件名称
import { EventPubSub } from 'ray-eventpool';
// 监听事件
EventPubSub.bind('myEvent5', function(event, args, fn) {
alert('Publish Message 4th Times with args : ' + args);
fn(args);
});
// 触发事件
function pubshMsg(){
EventPubSub.trigger("myEvent5", [ "hello", function(args){
alert(args);
}]);
}PubSub
import { PubSub } from 'ray-eventpool';
// 监听
PubSub.subscribe('HELLO', function(topic, data){
// data
console.log(data);
});
PubSub.publish('HELLO', '你好!')
// name space
PubSub.publish('HELLO.ray', 'ray 你好!');
PubSub.publish('HELLO.ilex', 'ilex 你好!');
PubSub.subscribe('HELLO', function(topic, data){
// ray 你好!
// ilex 你好!
console.log(data);//
});EventEjector
import { EventEjector } from 'ray-eventpool';
const ee = new EventEjector();
ee.on('message', function (text) {
console.log(text)
});
ee.emit('message', 'hello world');也可以直接使用 nodejs 内置的
events模块、eventemitter or event-emitter模块
IHub
通过 new IHub() 创建一个 hub 实例,其中:
hub 提供 hub.event 和 hub.events。
hub.events 是将参数规范话处理,比如 handle的唯一性处理, args 的统一化处理。
建议只使用 hub.events 进行事件分发
import { IHub } from 'ray-eventpool';
// or
import { IHub } from 'ray-eventpool/lib/eventHub';
const hub = new IHub();
hub.events.on('message', function (text) {
console.log(text)
});
hub.events.emit('message', 'hello world');也可以直接使用 nodejs 内置的
events模块、eventemitter or event-emitter模块
changelog
2024-10-21 v1.0.3
fix IHub bugs
2021-05-10 v1.0.2
add event hub