Home > SYS_MessageBus > subscribeOnce
SYS_MessageBus.subscribeOnce() method
私有消息总线:订阅单次消息
签名
typescript
function subscribeOnce(topic: string, callbackFn: (message: any) => void): ISYS_MessageBusTask;1
参数名
参数 | 类型 | 描述 |
|---|---|---|
topic | string | 主题 |
callbackFn | (message: any) => void | 接收到消息后的回调 |
返回值
消息总线任务
示例
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