Home > SYS_MessageBus > pull
SYS_MessageBus.pull() method
私有消息总线:拉消息
签名
typescript
function pull(topic: string, callbackFn: (message: any) => void): ISYS_MessageBusTask;1
参数名
参数 | 类型 | 描述 |
|---|---|---|
topic | string | 主题 |
callbackFn | (message: any) => void | 拉到消息后的回调 |
返回值
消息总线任务
备注
每次只能拉一个消息
示例
javascript
// 1. 注册拉取回调(每次只能拉一个消息)
let count = 0;
const task = eda.sys_MessageBus.pull('嘉立创示例_拉取', (message) => {
count++;
console.log('第', count, '次拉到:', message);
});
// 2. 推送两条消息:只有第一条会被这个 Puller 收到
eda.sys_MessageBus.push('嘉立创示例_拉取', '任务甲');
eda.sys_MessageBus.push('嘉立创示例_拉取', '任务乙');
console.log('拉取次数:', count);
// 3. 取消任务(未消费完的排队消息一并放弃)
task.cancel();
console.log('已取消拉取任务');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