2.0.4 • Published 5 years ago

egg-eventsource v2.0.4

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

egg-eventsource

NPM version build status Test coverage David deps Known Vulnerabilities npm download

基于eventsource的server到client的单向推送插件,支持client分组订阅

开启插件

// config/plugin.js
exports.eventsource = {
  enable: true,
  package: 'egg-eventsource',
};

使用场景

client

// 接收服务器推送数据
const es = new EventSource('{base}/__eventsource');
es.on('message', (msgEvent) => {
  console.log(msgEvent.data);
});

es.on('customevent', (msgEvent) => {
  console.log(msgEvent.data);
});

// 只监听某个namespace下的topic
const es2 = new EventSource('{base}/__eventsource?dataId={namespace}.{topic}');
es.on('{eventName}', (msg) => console.log(msg));

server

// broadcast向所有client推送数据,多线程模型下broadcast只会向当前worker线程推送
app.eventsource.broadcast('this is an test message'); // 默认message类型
app.eventsource.broadcast('customevent', 'this is an customevent message'); // 自定义接收类型

// 向全部worker线程推送
app.eventsource.sendToAllWorkers('this is an test message');

// 向某个分组的client发送消息
app.eventsource.broadcast('{eventName}#{namespace}.{topic}', 'this is an test message');
// or
app.eventsource.sendToAllWorkers('{eventName}#{namespace}.{topic}', 'this is an test message');

详细配置

请到 config/config.default.js 查看详细配置项说明。

提问交流

请到 egg issues 异步交流。

License

MIT

2.0.4

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.2.0

5 years ago

1.1.0

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago