deferred.isRejected()とdeferred.isResolved()
すでにrejectedかresolvedが行なわれているかチェックできるメソッド。
var obj = $.Deferred();
obj.then(function(){
if(obj.isResolved())alert('ok');//ok
});
setTimeout( function() {
if(obj.isResolved())alert('ng');
obj.resolve();
}, 2000 );
このコードではngはアラートされないがokはアラートが表示される。
サンプル
deferred.pipe()
pipe()はDeferredオブジェクトがresolveやrejectに設定された内容を実行する前に制御したい命令を入れることができる。
var defer = $.Deferred(),
filtered = defer.pipe(function( value ) {
return value * 2;
});
defer.resolve( 5 );
filtered.done(function( value ) {
alert( "Value is ( 2*5 = ) 10: " + value );
});
deferred.promise();
promise()はDeferredオブジェクトを返す。
var obj = $.Deferred();
var func = function(){
$("body").append("<p>run....</p>");
setTimeout(function(){
obj.resolve();
},2000);
return obj.promise();
}
$.when(func()).done(function(){
$("body").append("<p>finish!</p>");
});
このようにDeferredオブジェクトを返すことでwhenメソッドで遅延の制御が可能になる。
サンプル
【jQueryの最新記事】
- IEでjQueryの画象のloadが動か..
- IE9でjQueryのanimateメソ..
- jQueryでJSONP
- jQueryつかってプログレスバーを表示..
- iPhoneでjQueryのliveイベ..
- jQuery を利用して1行の高さ(li..
- jQueryでブラウザがCSS3に対応し..
- jQueryでURLのパラメータを取得す..
- jQuery UIでsortable要素..
- jQuery UIでドラッグアンドドロッ..
- jsonとjQueryの悩ましい関係
- jQuery Deferredを利用した..
- resolveとresolveWith(..
- jQuery Deferred
- jQueryのdetachメソッド
- jQueryのpropメソッド
- jQueryのholdReadyメソッド..
- 画像の読み込みが終ったあとにスクリプトを..
- jQueryプラグイン「Isotope」..
- 豪華なエフェクトでソートや絞り込みを行う..