0.1.0 • Published 5 months ago

nti-event-bus-module v0.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
5 months ago

nti-event-bus-module

nti-event-bus-module 是一个轻量级的库,用于在Web环境中实现配置平台和原生模块的父子应用之间的通信。它允许您建立一个简单的基于事件的通信通道,实现不同模块之间的无缝数据交换。

安装

使用 npm 或 yarn 安装库:

npm install nti-event-bus-module
# 或
yarn add nti-event-bus-module

使用

初始化

要开始使用 ModuleEventBus,请使用表示您模块标识符的唯一 moduleId 实例化它:

import ModuleEventBus from 'nti-event-bus-module';

const myModuleId = 'myModule';
const eventBus = new ModuleEventBus(myModuleId);

事件订阅

使用 on 方法订阅特定事件。type 参数表示事件类型,callback 是触发事件时要执行的函数。

eventBus.on('customEvent', payload => {
  // 处理接收到的 payload
  console.log('接收到:', payload);
});

事件触发

使用 emit 方法向父应用触发事件。提供事件的 type 和相应的 payload

eventBus.emit('customEvent', { data: '你好,父应用!' });

事件取消订阅

使用 off 方法取消订阅特定事件。传递事件的 type 和原始的 callback

const myCallback = payload => {
  // 处理接收到的 payload
  console.log('接收到:', payload);
};

// 订阅
eventBus.on('customEvent', myCallback);

// 取消订阅
eventBus.off('customEvent', myCallback);

清理

当您的模块不再需要时,请使用 destroy 方法清理事件监听器,确保正确释放资源:

eventBus.destroy();

API

new ModuleEventBus(moduleId)

  • moduleId (String): 模块的唯一标识符。

创建 ModuleEventBus 的新实例。

on(type, callback)

  • type (String): 事件类型。
  • callback (Function): 当事件触发时要执行的回调函数。

订阅特定事件类型。

emit(type, payload)

  • type (String): 事件类型。
  • payload (Any): 要随事件发送的数据。

向父应用触发事件。

off(type, callback)

  • type (String): 事件类型。
  • callback (Function): 要取消订阅的回调函数。

取消订阅特定事件类型。

destroy()

清理事件监听器并释放与 ModuleEventBus 实例相关联的资源。

示例

import ModuleEventBus from 'nti-event-bus-module';

const myModuleId = 'myModule';
const eventBus = new ModuleEventBus(myModuleId);

// 订阅事件
eventBus.on('customEvent', payload => {
  console.log('接收到:', payload);
});

// 触发事件
eventBus.emit('customEvent', { data: '你好,父应用!' });

// 取消订阅事件
eventBus.off('customEvent');

// 当模块不再需要时清理资源
eventBus.destroy();

许可证

此库根据 NTI 许可证授权 - 有关详细信息,请参阅相关文件。

0.1.0

5 months ago