@dependahub/event
v1.0.2
Published
軽量なイベントシステム
Downloads
7
Readme
event
軽量なイベント管理システム
Install
npm i @dependahub/eventExample
import {event} from '@dependahub/event';
// イベントの購読 A
const subscriptionA = event.subscribe('eventName', async payload => {
// 何らかの処理A
});
// イベントの購読 B
const subscriptionB = event.subscribe('eventName', async payload => {
// 何らかの処理B
});
// イベントの購読解除
subscriptionA.unsubscribe();
// イベントの発火
await event.push('eventName', payload); // subscriptionB のみ発火
// イベントの削除
event.remove('eventName');
await event.push('eventName', payload); // 何も発火しませんFeatures
イベントの購読
イベント名を指定して購読登録します。イベント発火時には第2引数のコールバック関数が実行されます。
const subscription = event.subscribe('eventName', async payload => {
// イベント発火時に実行する処理
console.log('イベントを受信しました:', payload);
});イベントの購読解除
subscribe()の戻り値から購読を解除できます。
// 購読を解除
subscription.unsubscribe();イベントの送信
指定したイベント名に対して、データ(payload)を送信します。登録されているすべてのコールバック関数が非同期に実行されます。
// payloadには任意のデータを渡せます
const payload = { message: 'こんにちは', timestamp: Date.now() };
await event.push('eventName', payload);イベントの削除
指定したイベント名に関連するすべての購読を削除します。
// eventNameに登録されているすべての購読が削除されます
event.remove('eventName');ライセンス
こちらのリポジトリは MITライセンス の元にオープンソースで作成されています。
