本文主要介紹jquery (jquery延遲對象)中使用延遲對象的詳細(xì)解決方案是什么?,下面一起看看jquery (jquery延遲對象)中使用延遲對象的詳細(xì)解決方案是什么?相關(guān)資訊。
在jquery1.5版本1.5之后,延遲對象(deferred objects)是延遲對象,用于處理將來發(fā)生的回調(diào)函數(shù)。同時重寫ajax方法,當(dāng)前ajax方法返回一個延遲的對象。讓 讓我們看看延遲對象的使用。1.ajax s鏈回調(diào)ajax方法返回一個d測試 .json )。do(function(resp){)完成等同于一次成功的回調(diào),這是一次成功回調(diào)的默認(rèn)參數(shù)。警報(bào)( 成功 );} failure (function {) failur測試 .json )。do(function(resp){)完成等同于一次成功的回調(diào),這是一次成功回調(diào)的默認(rèn)參數(shù)。警報(bào)( 成功 );}。complete (function {)做點(diǎn)什么...}.complete (function {)做點(diǎn)什么...});還有一種延遲對象的方法。其實(shí)這是一種把完成和失敗結(jié)合起來的。它接受一個或兩個參數(shù)。如果有兩個參數(shù),第一個是完成方法的回調(diào)函數(shù),第二個是失敗方法的回調(diào)函數(shù)。如果只有一個參數(shù),那就是完成方法的回調(diào)函數(shù)。var success = function{alarm( ; 成功 );};var = function {報(bào)警(錯誤);};兩個參數(shù),美元。ajax( 測試 .json )。然后(成功,錯誤);參數(shù)美元。ajax( 測試 .json )。然后(成功);jqu測試 .json ),美元。ajax( ;演示.json )),({功能完成){報(bào)警( 成功 );}故障(function {)報(bào)警(錯誤);});不言而喻,當(dāng)所有的異步都成功時,正在進(jìn)行的方法的回調(diào)就會被執(zhí)行。否則,將執(zhí)行失敗的回調(diào)方法。類似地,完成方法中回調(diào)函數(shù)的默認(rèn)參數(shù)與方法參數(shù)相同。如果對象只是一個普通的對象,而不是一個延遲的對象,它會立即執(zhí)行回調(diào)方法?;卣{(diào)函數(shù)的默認(rèn)參數(shù)是將對象本身傳遞給time方法。當(dāng)傳遞給該方法的參數(shù)是一個普通對象時。當(dāng)...的時候({ 測試:測試 ;})。do (function (resp){) consol測試}失敗(function {)由于傳入對象不是延遲對象,所以不會調(diào)用失敗的回調(diào)函數(shù)。})當(dāng)需要兩個或多個異步終端時,調(diào)用回調(diào)函數(shù)。同時,這些異步ajax可能還需要修改傳輸模式類型或者傳輸數(shù)據(jù),代碼非常混亂,可讀性很差。因此,您可以重新打包ajax以提高代碼可讀性。ajax = var { r測試 .json )。do(功能(resp))報(bào)警( 成功 );}故障(function {)報(bào)警(錯誤);});連接器學(xué)習(xí)中缺少always方法,此參數(shù)也是回調(diào)函數(shù)。與failure不同,在所有情況下都會執(zhí)行常規(guī)回調(diào)方法。延遲對象不僅可以用在jquery的ajax方法中,還提供了一系列接口,大大提高了它們的常用類型。比如有這樣一個耗時的方法。函數(shù)a{函數(shù)b{ alarm(initial);} settimeout(b,3000);}如果你想在這個方法之后執(zhí)行回調(diào),你可以 不要用$因?yàn)?不延遲的時候會直接或者直接調(diào)用回調(diào)函數(shù)。這次用其他延遲對象的方法,或者上面的方法,做一些重寫。函數(shù)a{ var = delay(def);創(chuàng)建延遲對象函數(shù)b{ alarm(initial);def.resolve(擴(kuò)展);//改變對象的狀態(tài)} settimeout(b,3000);回來后;} $(一).完成(function {)報(bào)警(是回調(diào));});分析:1)。$方法創(chuàng)建一個延遲對象。2)。def.resolve會改變延遲對象的狀態(tài),延遲對象有三種狀態(tài),未完成、成功和失敗。它有兩種解法和拒絕法。解決方法可以將對象的狀態(tài)更改為成功,而拒絕方法可以將狀態(tài)更改為失敗。如果不止是寫問題,income的遞延對象可以是外部變化狀態(tài),所以也提供了commitment方法,基于遞延對象返回一個新的遞延對象。不同的是,返回的對象只能在狀態(tài)中被觀察到,沒有辦法改變狀態(tài)來類似地返回一個只讀的延遲對象。同樣的例子可以這樣改寫。函數(shù)a{ var =延遲(def);創(chuàng)建延遲對象函數(shù)b{ alarm(initial);def.resolve(擴(kuò)展);//改變對象的狀態(tài)} settimeout(b,3000);返回def . promise;}當(dāng)(a)(reject)(completed)(function)reject/reject方法無效時報(bào)警(是回調(diào));});以上是本文的全部內(nèi)容,希望能對你有所幫助,也希望你多多支持。
了解更多jquery (jquery延遲對象)中使用延遲對象的詳細(xì)解決方案是什么?相關(guān)內(nèi)容請關(guān)注本站點(diǎn)。