Home > SYS_MessageBus > subscribeOnce
SYS_MessageBus.subscribeOnce() method
Private message bus: subscribe to a message once
Signature
typescript
function subscribeOnce(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
Example
javascript
// 1. 注册单次订阅
let received = null;
const task = eda.sys_MessageBus.subscribeOnce('嘉立创示例_单次订阅', (message) => {
received = message;
});
// 2. 发布两条消息:只有第一条触发回调
eda.sys_MessageBus.publish('嘉立创示例_单次订阅', '首次触发');
eda.sys_MessageBus.publish('嘉立创示例_单次订阅', '第二次发布');
console.log('实际收到:', received);
// 3. 消息未到时也可以主动 cancel 放弃等待
task.cancel();
console.log('已清理单次订阅任务');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