jQuery deferred.done() 方法

2018-11-22 14:16 更新

jQuery deferred.done() 方法

jQuery 雜項(xiàng)方法jQuery 雜項(xiàng)方法

實(shí)例

當(dāng)用戶點(diǎn)擊按鈕時(shí),受理延遲對(duì)象,觸發(fā)一系列回調(diào)函數(shù)

<button>Go</button>
<
p>準(zhǔn)備...</p>
<
script>
$
(function () {
   
// 當(dāng)Deferred對(duì)象被解決時(shí),3個(gè)函數(shù)被調(diào)用
    function
fn1() {
        $
( "p" ).append( " 1 " );
    }

    function
fn2() {
        $
( "p" ).append( " 2 " );
   
}
    function
fn3( n ) {
        $
( "p" ).append( n + " 3 " + n ); }
    //
創(chuàng)建一個(gè)deferred對(duì)象
    var
dfd = $.Deferred();
    //
添加當(dāng)dfd解決時(shí)被調(diào)用的處理程序
    dfd

   
// .done() 可以獲取函數(shù)或函數(shù)數(shù)組的數(shù)量
        .
done( [ fn1, fn2 ], fn3, [ fn2, fn1 ] )
    //
我們也可以連接其他的方法
        .
done(function( n ) {
            $
( "p" ).append( n + " 已完成。" );
       }
);
    //
當(dāng)按鈕被點(diǎn)擊時(shí)修改狀態(tài)為已完成
    $
( "button" ).on( "click", function() {
       
dfd.resolve( "" );
    }
);
}
)
</
script>

嘗試一下 ?

定義和用法

deferred.done() 函數(shù)當(dāng)Deferred(延遲)對(duì)象被受理時(shí),調(diào)用添加的處理程序。
提示:該方法接受一個(gè)或者多個(gè)參數(shù)。deferred.done() 返回的是一個(gè) Deferred 對(duì)象,可以連接其他的延遲對(duì)象方法,包括額外的 .done() 方法。當(dāng)Deferred 對(duì)象得到解決時(shí),回調(diào)函數(shù)按它們被添加時(shí)的順序執(zhí)行,并且可以作為參數(shù)傳遞給如下的方法使用:resolve,resolveWith。


語(yǔ)法

deferred.done( doneCallbacks [, doneCallbacks ] )

參數(shù) 描述
doneCallbacks Function類(lèi)型 一個(gè)函數(shù)或者函數(shù)數(shù)組,當(dāng)Deferred(延遲)對(duì)象得到解決時(shí)被調(diào)用
doneCallbacks 可選。Function類(lèi)型 一個(gè)函數(shù)或者函數(shù)數(shù)組,當(dāng)Deferred(延遲)對(duì)象得到解決時(shí)被調(diào)用


jQuery 雜項(xiàng)方法jQuery 雜項(xiàng)方法

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)