Home > SYS_MessageBus > subscribePublic
SYS_MessageBus.subscribePublic() method
公共消息总线:订阅消息
签名
typescript
function subscribePublic(topic: string, callbackFn: (message: any) => void): ISYS_MessageBusTask;1
参数名
参数 | 类型 | 描述 |
|---|---|---|
topic | string | 主题 |
callbackFn | (message: any) => void | 接收到消息后的回调 |
返回值
消息总线任务
备注
持久性订阅消息
示例
javascript
// 1. 在公共总线持久订阅主题
const received = [];
const task = eda.sys_MessageBus.subscribePublic('嘉立创示例_公共订阅', (message) => {
received.push(message);
});
// 2. 公共广播两条都能收到;私有 publish 不会到达
eda.sys_MessageBus.publishPublic('嘉立创示例_公共订阅', '公共甲');
eda.sys_MessageBus.publishPublic('嘉立创示例_公共订阅', '公共乙');
eda.sys_MessageBus.publish('嘉立创示例_公共订阅', '私有丙');
console.log('已收到:', received.join('、'));
// 3. cancel 之后不再接收
task.cancel();
eda.sys_MessageBus.publishPublic('嘉立创示例_公共订阅', '取消后广播');
console.log('cancel 后仍停留在:', received.join('、'));1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16