import { emitter } from '@kit.BasicServicesKit'
@Entry
@Component
struct Index {
@State message: string = 'Hello World';
async testWoker() {
let eventData: emitter.EventData = {
data: {
"content": "c",
"id": 1,
}
};
let innerEvent: emitter.InnerEvent = {
eventId: 1,
priority: emitter.EventPriority.HIGH
};
emitter.emit(innerEvent, eventData);
}
aboutToAppear() {
let innerEvent: emitter.InnerEvent = {
eventId: 1
};
// 收到eventId为1的事件后执行回调函数
emitter.on(innerEvent, () => {
console.info('callback');
});
}
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
this.testWoker();
})
}
.width('100%')
}
.height('100%')
}
}
事件回调
import { emitter } from '@kit.BasicServicesKit'
import { promptAction } from '@kit.ArkUI';
@Entry
@Component
struct Index {
@State message: string = 'Hello World';
async testWoker() {
// 定义一个eventId为1的事件,事件优先级为Low
let event: emitter.InnerEvent = {
eventId: 1,
priority: emitter.EventPriority.LOW
};
let eventData: emitter.EventData = {
data: {
content: 'c',
id: 1,
isEmpty: false
}
};
// 发送eventId为1的事件,事件内容为eventData
emitter.emit(event, eventData);
}
aboutToAppear() {
// 定义一个eventId为1的事件
let event: emitter.InnerEvent = {
eventId: 1
};
// 收到eventId为1的事件后执行该回调
let callback = (eventData: emitter.EventData): void => {
promptAction.showToast({
message: JSON.stringify(eventData)
});
};
// 订阅eventId为1的事件
emitter.on(event, callback);
promptAction.showToast({
message: 'app.string.emitter_subscribe_success_toast'
});
}
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
this.testWoker();
})
}
.width('100%')
}
.height('100%')
}
}