jQuery deferred.done() 方法

jQuery 雜項方法jQuery 雜項方法

實例

當用戶點擊按鈕時,受理延遲對象,觸發一系列回調函數

<button>Go</button> <p>準備...</p> <script> $(function () { // 當Deferred對象被解決時,3個函數被調用 function fn1() { $( "p" ).append( " 1 " ); } function fn2() { $( "p" ).append( " 2 " ); } function fn3( n ) { $( "p" ).append( n + " 3 " + n ); } //創建一個deferred對象 var dfd = $.Deferred(); // 添加當dfd解決時被調用的處理程式 dfd // .done() 可以獲取函數或函數數組的數量 .done( [ fn1, fn2 ], fn3, [ fn2, fn1 ] ) // 我們也可以連接其他的方法 .done(function( n ) { $( "p" ).append( n + " 已完成。" ); }); // 當按鈕被點擊時修改狀態為已完成 $( "button" ).on( "click", function() { dfd.resolve( "" ); }); }) </script>


定義和用法

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


語法

deferred.done( doneCallbacks [, doneCallbacks ] )

參數 描述
doneCallbacks Function類型 一個函數或者函數數組,當Deferred(延遲)對象得到解決時被調用
doneCallbacks 可選。Function類型 一個函數或者函數數組,當Deferred(延遲)對象得到解決時被調用


jQuery 雜項方法jQuery 雜項方法