Pot.deferrizejQueryAjax

{Void} Pot.deferrizejQueryAjax ()

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

jQuery の Ajax 系関数を Pot.Deferred 化し、プラグインを追加します。

Pot.deferrizejQueryAjax() を実行することで jQuery プラグインとして利用できます。
jQuery が利用可能な場合、 jQuery.ajax 系の関数の戻り値が Pot.Deferred インスタンス になるよう変換します。
jQuery.ajax(), jQuery.get(), jQuery.post(), jQuery.getJSON() などの関数に影響します。
また、プラグインとして deferred というメソッドを追加します。
jQuery.fn.deferred() は、任意の jQuery メソッドを Deferred 化し、Pot.Deferred インスタンスが返るようにします。

{Pot.Deferred} jQuery.fn.deferred ({String|*} method [, {*} ...args])
jQuery のメソッド (jQuery.fn.xxx) を、Deferred 化し、実行します。
引数 method は、実行するメソッド名を指定します。
任意に、第二引数~以降にメソッドに渡す引数を指定できます。
返り値は Pot.Deferred インスタンス になります。
返り値の インスタンスは、コールバック関数が完了すると開始されます。
エフェクトなどの非同期処理に対して実行すると、より効果的です。
deferred プラグインは、内部で Pot.Deferred.deferrize() を使用しています。
jQuery('div#hoge').deferred('hide', 'slow').then(function() {
    // .hide() が完了した後に実行される
    jQuery('div#message').text('div#hoge closed');
});

Pot.deferrizejQueryAjax() は現状、ライブラリ側で実行しません。
なので、プラグインを使用する場合は コードの最初などで実行する必要があります。

返り値はありません。

// jQuery を読み込んだ後に実行
Pot.deferrizejQueryAjax();

// Ajax 系の関数が Pot.Deferred を返すようになる
$.getJSON('/hoge.json').then(function(data) {
    alert(data.results[0].text);
}).rescue(function(err) {
    alert('Error! ' + err);
}).ensure(function() {
    return someNextProcess();
});

// エフェクトなどを Deferred 化する 'deferred' が追加される
$('div#hoge').deferred('hide', 'slow').then(function() {
    // ...( hide() が終了したあとの処理)
});