W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
當(dāng)需要發(fā)布某個(gè)自定義公共事件時(shí),可以通過publish()方法發(fā)布事件。發(fā)布的公共事件可以攜帶數(shù)據(jù),供訂閱者解析并進(jìn)行下一步處理。
已發(fā)出的粘性公共事件后來訂閱者也可以接收到,其他公共事件都需要先訂閱再接收,訂閱參考公共事件訂閱章節(jié)。
詳細(xì)接口見接口文檔。
接口名 | 接口描述 |
---|---|
publish(event: string, callback: AsyncCallback) | 發(fā)布公共事件。 |
publish(event: string, options: CommonEventPublishData, callback: AsyncCallback) | 指定發(fā)布信息并發(fā)布公共事件。 |
不攜帶信息的公共事件,只能發(fā)布無序公共事件。
導(dǎo)入CommonEvent模塊。
- import commonEvent from '@ohos.commonEventManager';
傳入需要發(fā)布的事件名稱和回調(diào)函數(shù),發(fā)布事件。
- // 發(fā)布公共事件
- commonEvent.publish("usual.event.SCREEN_OFF", (err) => {
- if (err) {
- console.error(`[CommonEvent] PublishCallBack err=${JSON.stringify(err)}`);
- } else {
- console.info(`[CommonEvent] Publish success`);
- }
- })
攜帶信息的公共事件,可以發(fā)布為無序公共事件、有序公共事件和粘性事件,可以通過參數(shù)CommonEventPublishData的isOrdered、isSticky的字段進(jìn)行設(shè)置。
導(dǎo)入CommonEvent模塊。
- import commonEvent from '@ohos.commonEventManager';
傳入需要發(fā)布的事件名稱和回調(diào)函數(shù),發(fā)布事件。
- // 公共事件相關(guān)信息
- let options = {
- code: 1, // 公共事件的初始代碼
- data: "initial data", // 公共事件的初始數(shù)據(jù)
- }
傳入需要發(fā)布的事件名稱、需要發(fā)布的指定信息和回調(diào)函數(shù),發(fā)布事件。
- // 發(fā)布公共事件
- commonEventManager.publish("custom_event", options, (err) => {
- if (err) {
- console.error('[CommonEvent] PublishCallBack err=' + JSON.stringify(err));
- } else {
- console.info('[CommonEvent] Publish success')
- }
- })
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: