JavaScript でシステムイベントを処理する API です。

MessagePorter

モジュールパス: /alier_sys/_MessagePorter.js

概要


イベント通知機構を提供するためのクラスです。

MessagePorter は Model と View の間のイベント通知や、ネイティブコードとの連携によるアプリのライフサイクルイベント取得などで使用されます。

イベント通知を取得するための関数(リスナー)を登録することで、イベント通知があった際に登録したリスナーを介して対応する処理を行うことができます。

モバイル版はアプリ立ち上げ時にグローバルに展開済みなので、インポートの必要がありません。

モバイル版のフレームワークではシステムイベント通知のために EventHandler が使用されています。システムイベント通知は Alier.SysEvent として登録された MessagePorter インスタンスに対し、モバイル側のコードからメッセージが送られます。JavaScript 側では、Alier.SysEvent に対してイベントリスナーを登録することでシステムイベントの発生を検知できるようになります。

プラットフォーム側から受け取れるライフサイクルイベントの一覧は Alier.SysEventの詳細を参照してください。

MessagePorter の使い方

基本的なイベントハンドラーの使い方は以下の通りです:

const messagePorter = new MessagePorter();

messagePorter.addListener((message) => {
    console.log(`Event triggered: ${message}`);
});

messagePorter.post("Hello World!");
// => Event triggered: Hello Wrold!

メソッド


addListener()

  • 対象の MessagePorter にイベントリスナーを登録します。

post()

  • 対象の MessagePorter に登録された各イベントリスナーに対してイベントを通知します。

deleteListener()

  • 登録済みのイベントリスナーの登録を解除します。