Home > SYS_MessageBus > pull
SYS_MessageBus.pull() method
Private message bus: pull a message
Signature
typescript
function pull(topic: string, callbackFn: (message: any) => void): ISYS_MessageBusTask;1
Parameters
Parameter | Type | Description |
|---|---|---|
topic | string | Theme |
callbackFn | (message: any) => void | Callback after a message is pulled |
Returns
Message bus task
Remarks
Only one message can be pulled at a time
Example
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