Pot.Signal.signal

{Pot.Deferred} Pot.Signal.signal ({Object|Function} object, {String|Array} signalName [, {*}...args])

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();
    //...
});