Pot.js と PotLite.js で利用可能。
Deferred チェインを中止します。
Deferred チェインを中止します。
中止すると、次以降のチェインは実行されません。
var d = new Pot.Deferred(); d.then(function() { debug(1); }).then(function() { debug(2); }); // チェックが通れば開始 if (check()) { d.begin(); } else { // 通らなければ中止 d.cancel(); // キャンセルしたチェインに追加しても何も起きない d.then(function() { debug('hoge'); }); d.begin(); // begin も無視される }
コールバックチェインの中で cancel する場合。
Pot.Deferred.begin(function() { debug(1); }).then(function() { debug(2); // ここでキャンセル this.cancel(); }).then(function() { // このコールバック関数は実行されない debug(3); });
チェイン上で実行される コールバック関数内の this は、 自身の Pot.Deferred インスタンスです。