Pot.js と PotLite.js で利用可能。
attach* によって登録したシグナルを実行します。
引数 object と signalName に一致するシグナルがすべて実行されます。
実行される関数には第三引数~以降に任意の引数が渡せます。
戻り値は Pot.Deferred インスタンス になり、then() などで次の処理に繋げることができます。
これは、シグナルが非同期で実行され Deferred を返した時などでも整合性をとるためです。
Pot.globalize() が適応されている場合、Pot.signal() が signal() で実行できます。
Pot.Deferred インスタンスが返ります。
var MyObj = {}; // 独自のシグナルを登録 var handler = Pot.attach(MyObj, 'clear-data', function() { // プロパティの初期化など MyObj.data = null; MyObj.time = null; }); Pot.attach(window, 'load', function() { // 初期化するシグナルを送信 Pot.signal(MyObj, 'clear-data'); // リセットボタンを押した時にもクリアするよう設定 Pot.attach('#reset', 'click', function() { Pot.signal(MyObj, 'clear-data'); }); // 既存の処理など myLoadProcess(); //... });