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