Pot.js - Pot.Signal functions

Pot.Signal functions

このセクションではシグナルやイベント処理を扱う Pot.Signal について扱います。

Pot.Signal は、任意のハンドラを登録し シグナルを送信して実行に移すことが可能です。
言い方を変えると、自らイベントを作成し、任意のタイミングで呼び出せるようなものです。

Pot.Signal には大まかに以下の関数があります。

そして、attachBefore()attach() で登録したシグナルの前に実行されるコールバックを登録します。
attachAfter() は、同じく attach() ハンドラの後に実行されるコールバック関数を登録できます。

これらの関数、とくに Before, After を使うことで、 アスペクト指向 (AOP) なプログラミングが可能となります。

また、attach 系の関数 (attach*) の後に .once を付けると、一度だけ実行されます。

// 一度クリックしたら解除される
attach.once('#hoge', 'click', function() {
   // ...
});

Pot.Signal 自体は コンストラクタではなくオブジェクトです。
各関数は、Pot オブジェクトから参照できるため Pot.attach() のとして呼び出せます。
明示的に Pot.Signal.attach() と呼び出しても同じです。
Pot.globalize() が適応されている場合は、 各関数、例えば Pot.attach() が 単に attach() とコールできます。

このリファレンスのサンプルコードの多くは、 便宜上 Pot.globalize() が適応されたと仮定して記述しています。
例えば、Pot.forEach として定義されている関数を forEach(...) と表現している場合があります。 これは、Pot.globalize() がされていない場合 Pot.forEach(...) として呼び出せます。 他の関数も同様です。
Pot.globalize() が適応済みの場合、定義名のままで呼び出せます。

また、サンプルコードでは コンソールに出力するデバッグ用関数 Pot.debug() を多用しています。
Pot.debug() を、たんに debug() と表している場合もあります。
Pot.debug については このセクションで扱っているので詳しくはメニューから参照ください。

このリファレンスは Pot.js, PotLite.js の関数を事細かく解説しているわけではないので、 足りない情報があるかもしれません。
より詳しくは ソースコードから自動生成された JSDoc ドキュメント (Pot.js) or JSDoc ドキュメント (PotLite.js) または直接ソースコードを参照ください。