Home > SYS_MessageBus > subscribePublic
SYS_MessageBus.subscribePublic() method
Public message bus: subscribe to a message
Signature
typescript
function subscribePublic(topic: string, callbackFn: (message: any) => void): ISYS_MessageBusTask;1
Parameters
Parameter | Type | Description |
|---|---|---|
topic | string | Theme |
callbackFn | (message: any) => void | Callback after receiving the message |
Returns
Message bus task
Remarks
Persistent subscription message
Example
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