Home > SYS_MessageBus > pushPublic
SYS_MessageBus.pushPublic() method
公共消息总线:推消息
签名
typescript
function pushPublic(topic: string, message: any): void;1
参数名
参数 | 类型 | 描述 |
|---|---|---|
topic | string | 主题 |
message | any | 消息 |
返回值
void
备注
每个消息只有一个 Puller 可以收到
示例
javascript
// 1. 在公共总线注册两个取件方(竞争关系)
let receivedByA = false;
const taskA = eda.sys_MessageBus.pullPublic('嘉立创示例_公共推送', () => {
receivedByA = true;
});
const taskB = eda.sys_MessageBus.pullPublic('嘉立创示例_公共推送', (message) => {
console.log('取件方 B 拉到:', message);
});
// 2. 推送一条消息:先注册的取件方 A 拿走,B 收不到
eda.sys_MessageBus.pushPublic('嘉立创示例_公共推送', '跨扩展任务');
console.log('取件方 A 是否收到:', receivedByA);
// 3. 取消任务,恢复原状
taskA.cancel();
taskB.cancel();
console.log('已取消公共拉取任务');1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18