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