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();