使用Emitter進(jìn)行線程間通信

2024-01-25 12:28 更新

Emitter主要提供線程間發(fā)送和處理事件的能力,包括對持續(xù)訂閱事件或單次訂閱事件的處理、取消訂閱事件、發(fā)送事件到事件隊(duì)列等。

Emitter的開發(fā)步驟如下:

  1. 訂閱事件

    1. import emitter from "@ohos.events.emitter";
    2. // 定義一個(gè)eventId為1的事件
    3. let event = {
    4. eventId: 1
    5. };
    6. // 收到eventId為1的事件后執(zhí)行該回調(diào)
    7. let callback = (eventData) => {
    8. console.info('event callback');
    9. };
    10. // 訂閱eventId為1的事件
    11. emitter.on(event, callback);
  2. 發(fā)送事件

    1. import emitter from "@ohos.events.emitter";
    2. // 定義一個(gè)eventId為1的事件,事件優(yōu)先級為Low
    3. let event = {
    4. eventId: 1,
    5. priority: emitter.EventPriority.LOW
    6. };
    7. let eventData = {
    8. data: {
    9. "content": "c",
    10. "id": 1,
    11. "isEmpty": false,
    12. }
    13. };
    14. // 發(fā)送eventId為1的事件,事件內(nèi)容為eventData
    15. emitter.emit(event, eventData);
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號