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()
- 登録済みのイベントリスナーの登録を解除します。