Pot.Deferred.prototype.rescue

{Pot.Deferred} Pot.Deferred.prototype.rescue ({Function} errback)

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

エラー時に実行されるエラーバック関数を Deferred チェインに追加します。

エラーバック関数をチェインに追加します。
エラーバックはコールバックチェインで エラーが発生したときに、引数にエラーを持ち実行されます。

実行時の Pot.Deferred インスタンスが返ります。

var d = new Pot.Deferred();

d.then(function() {
    // エラーを発生させる
    throw new Error('MyError');
}).rescue(function(err) {
    // エラーをキャッチ
    debug(err); // Error: MyError
    return 1;
}).then(function(res) {
    // チェインを継続
    if (res == 1) {
        // 再度エラーを発生させる
        // Error オブジェクトでなくても throw されるとエラー扱い
        throw res;
    }
}).rescue(function(err) {
    // エラーを捕捉
    debug(err); // Error: 1
});
d.begin();