Home > SYS_MessageBus > subscribeOncePublic
SYS_MessageBus.subscribeOncePublic() method
Public message bus: subscribe to a message once
Signature
typescript
function subscribeOncePublic(
topic: string,
callbackFn: (message: any) => void,
): ISYS_MessageBusTask;1
2
3
4
2
3
4
Parameters
Parameter | Type | Description |
|---|---|---|
topic | string | Theme |
callbackFn | (message: any) => void | Callback after receiving the message |
Returns
Message bus task
Example
javascript
// 1. 在公共总线注册单次订阅
let received = null;
eda.sys_MessageBus.subscribeOncePublic('嘉立创示例_公共单次订阅', (message) => {
received = message;
});
// 2. 连续两条公共广播:只有第一条触发
eda.sys_MessageBus.publishPublic('嘉立创示例_公共单次订阅', '首次广播');
eda.sys_MessageBus.publishPublic('嘉立创示例_公共单次订阅', '第二次广播');
console.log('实际收到:', received);
// 3. 私有总线的 publish 与公共订阅互不相通(隔离验证)
eda.sys_MessageBus.publish('嘉立创示例_公共单次订阅', '私有消息');
console.log('私有消息到达后仍停留在:', received);1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14