Pot.Deferred.prototype.args

{Pot.Deferred|*} Pot.Deferred.prototype.args ([{*} ...args])

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

チェインの結果となる値を設定または取得します。

Deferred チェインの結果となる値を設定または取得します。
この値は、前のコールバック関数で return された値です。
args を使用することで、任意の値に設定または上書きできます。
また、コールバック関数内で var res = this.args(); のようにして本来の引数が取得できます。

実行時の Pot.Deferred インスタンスが返ります。
引数を省略して実行すると、前のコールバックの結果が返ります。

var d = new Pot.Deferred();

d.then(function(res) {
    debug(res); // undefined
// args により値を設定
}).args('hoge').then(function(res) {
    debug(res); // 'hoge'
    return res + res;
});
d.begin();

d.then(function(res) {
    // 現在の値を取得
    debug( this.args() ); // 'hogehoge'
    // res と同じものです
    debug( this.args() === res ); // true
});

// 分割代入ぽいことするには楽です
d.args(1, 2, 3).then(function(a, b, c) {
    debug(a); // 1
    debug(b); // 2
    debug(c); // 3
});
// 配列でも可
d.args(['A', 'B', 'C']).then(function(a, b, c) {
    debug(a); // 'A'
    debug(b); // 'B'
    debug(c); // 'C'
});