這篇文章給大家介紹jquery中done和then有什么不同,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
目前成都創新互聯已為千余家的企業提供了網站建設、域名、網頁空間、網站托管、服務器托管、企業網站設計、略陽網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
var defer = jQuery.Deferred(); defer.done(function(a,b){ console.log("a = " + a+"b = " + b); return a * b; }).done(function( result ) { console.log("result = " + result); }).then(function( a, b ) { console.log("a = " + a+"b = " + b); return a * b; }).done(function( result ) { console.log("result = " + result); }).then(function( a, b ) { console.log("a = " + a+"b = " + b); return a * b; }).done(function( result ) { console.log("result = " + result); }); defer.resolve( 2, 3 );
輸出結果如下:
結果分析:
1、第一個done和第二個done都返回了defer.resolve( 2, 3 )
2、done中callback的返回值不會被傳遞
3、第二個done只有一個參數,接收了defer.resolve( 2, 3 )的第一個參數2,所以result是2
4、第一個then接收defer.resolve( 2, 3 ),接收兩個參數,result是6,同時新建一個deferred object,傳遞result給deferred object
5、第三個done接收到了這個新的deferred object和傳遞的result,打印結果是6,并把這個新的deferred object傳遞給第二個then
6、第二個then現在接收新的deferred object,它只有一個參數,是result,所以參數b沒有定義,返回的結果是NaN,同時又新建一個deferred object
7、第四個done接收一個新建的deferred object,傳遞的參數是NaN,打印的結果自然就是NaN
關于jquery中done和then有什么不同就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
分享標題:jquery中done和then有什么不同
轉載來源:http://newbst.com/article6/ijhoig.html
成都網站建設公司_創新互聯,為您提供營銷型網站建設、品牌網站制作、自適應網站、定制開發、建站公司、品牌網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯