Pot.Deferred.register

{Number} Pot.Deferred.register ({String|Object} name [, {Function} func])

Pot.js と PotLite.js で利用可能。

チェインで使用できるユーザー定義のメソッドを登録します。

引数 name は、登録する関数名を文字列で指定します。
引数 func は、登録する関数を渡します。
引数 name が key-value のオブジェクトで渡されると、
key を 関数名、value を関数とし すべて登録します。
name をオブジェクトで指定した際は、func は省略できます。
登録したメソッドは、既存のメソッドと同じく コールバックチェイン上で実行することができます。
登録したメソッドは、Pot.Deferred.prototype に影響するため すべてのインスタンスで使用できるようになります。
Pot.globalize() が適応済みの場合、Pot.Deferred.register() が register() で実行できます。

登録した関数の数を返します。

// チェインの結果値とメソッドの引数の値を足すメソッドを登録
Pot.Deferred.register('add', function(args) {
    // 引数 args はオブジェクトで渡されます
    //  - args.inputs  : 登録したメソッドに渡された arguments
    //  - args.results : チェインの結果値となる arguments

    return args.inputs[0] + args.results[0];
});

var d = new Pot.Deferred();
d.then(function() {
    return 100;
// 登録したメソッド add を使用し 50 加算する
}).add(50).then(function(res) {
    Pot.debug(res); // 150
});
d.begin();