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