Pot.js と PotLite.js で利用可能。
成功時、エラー時どちらでも実行される関数を Deferred チェインに追加します。
成功時、エラー時どちらでも実行される
コールバック関数をチェインに追加します。
必ず実行したい場合などに有用です。
実行時の Pot.Deferred インスタンスが返ります。
var d = new Pot.Deferred();
d.then(function() {
// ランダムにエラーを発生させる
if (Math.random() * 10 < 5) {
return 'OK';
} else {
throw 'NG';
}
}).ensure(function(res) {
// エラーが起きても実行される
if (isError(res)) {
// なんらかのエラー対処
return errorHandler();
} else {
return res;
}
}).then(function(res) {
someFunc(res);
}).begin();