摘要:的介紹先看看下面的連接的進(jìn)一步探究看下面一個(gè)小輸出,為什么函數(shù)實(shí)際上是把回調(diào)函數(shù)加入隊(duì)列中而觸發(fā)這些回調(diào)函數(shù)隊(duì)列是函數(shù)。傳入函數(shù)的數(shù)據(jù)會(huì)被傳入回調(diào)函數(shù)中。
deferred的介紹
先看看下面的連接:http://www.cnblogs.com/147258...;
deferred的進(jìn)一步探究看下面一個(gè)小demo:
var d = $.Deferred(); d.then(function(val){ console.log(val); }).then(function(val){console.log(val)}); d.resolve(22);
輸出22 22,為什么?
then 函數(shù)實(shí)際上是把回調(diào)函數(shù)加入隊(duì)列中 而觸發(fā)這些回調(diào)函數(shù)隊(duì)列 是resolve 函數(shù)。傳入resolve函數(shù)的數(shù)據(jù)會(huì)被傳入回調(diào)函數(shù)中。所以這里打印出22 22
如果調(diào)換一下執(zhí)行順序呢?
var d = $.Deferred();
d.resolve(22)
d.then(function(val){
console.log(val);
}).then(function(val){console.log(val)});
//
這里依然打印了22,22.為什么先執(zhí)行的函數(shù) 后加入的隊(duì)列還是能夠執(zhí)行?
實(shí)際上是這樣不管是先執(zhí)行的then 函數(shù)后執(zhí)行的resolve 還是先resolve后執(zhí)行then
結(jié)果都是一樣的。
這是因?yàn)槿绻葓?zhí)行的resolve 后面一旦在隊(duì)列中加入函數(shù)就會(huì)立即執(zhí)行
再看一個(gè)案例:
var s = $.Deferred(); s.resolve("rir"); s.then(function(val){setTimeout(function(val){console.log(val+"3")}).then(function(val){console.log(val+"2")});
會(huì)先打印出rir2 然后打印出 rir3 即使是加入隊(duì)列 也改變不了settimeout的異步性質(zhì)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/84329.html
摘要:當(dāng)一個(gè)嵌套在主頁面中時(shí),用怎么去取到主頁面上的各種控件的值下拉控件取值修改的值下拉控件放值日期控件的取值在主頁面取嵌套的子頁面的值加前綴在瀏覽器中請求的數(shù)據(jù)能正確顯示出來,在中打開調(diào)試工具會(huì)報(bào)的錯(cuò)誤,數(shù)據(jù)信息出不來原因是在解析額外參數(shù)的時(shí)候 當(dāng)一個(gè)iframe嵌套在主頁面中時(shí),用jquery怎么去取到主頁面上的各種控件的值? $(#id,window.parent.document)....
摘要:當(dāng)一個(gè)嵌套在主頁面中時(shí),用怎么去取到主頁面上的各種控件的值下拉控件取值修改的值下拉控件放值日期控件的取值在主頁面取嵌套的子頁面的值加前綴在瀏覽器中請求的數(shù)據(jù)能正確顯示出來,在中打開調(diào)試工具會(huì)報(bào)的錯(cuò)誤,數(shù)據(jù)信息出不來原因是在解析額外參數(shù)的時(shí)候 當(dāng)一個(gè)iframe嵌套在主頁面中時(shí),用jquery怎么去取到主頁面上的各種控件的值? $(#id,window.parent.document)....
摘要:還有一點(diǎn)比較重要的是,如何在快速迭代的軟件開發(fā)周期內(nèi),去解放生產(chǎn)力。于是就會(huì)大量涌現(xiàn)很多優(yōu)秀的開源框架和擴(kuò)展庫,去解決現(xiàn)實(shí)生活中的實(shí)際問題。而這一切都是在朝著提高開發(fā)效率,降低維護(hù)成本而前進(jìn)。結(jié)合書中的觀點(diǎn)去總結(jié)和思考。 關(guān)于 Vue.js showImg(https://segmentfault.com/img/bVbk73v?w=252&h=253); 簡單小巧的核心(代碼壓縮后大...
摘要:還有一點(diǎn)比較重要的是,如何在快速迭代的軟件開發(fā)周期內(nèi),去解放生產(chǎn)力。于是就會(huì)大量涌現(xiàn)很多優(yōu)秀的開源框架和擴(kuò)展庫,去解決現(xiàn)實(shí)生活中的實(shí)際問題。而這一切都是在朝著提高開發(fā)效率,降低維護(hù)成本而前進(jìn)。結(jié)合書中的觀點(diǎn)去總結(jié)和思考。 關(guān)于 Vue.js showImg(https://segmentfault.com/img/bVbk73v?w=252&h=253); 簡單小巧的核心(代碼壓縮后大...
摘要:在調(diào)試使用操作的選中狀態(tài)切換的時(shí)候,發(fā)現(xiàn)了個(gè)復(fù)選框在被選中再取消選中一次后,無法再次通過重新選中了。如果發(fā)現(xiàn)不對,歡迎指正。但是使用直接操作每一個(gè)的屬性來設(shè)置,是可以正常的。 在調(diào)試使用jQuery操作checkbox的選中狀態(tài)切換的時(shí)候,發(fā)現(xiàn)了個(gè)bug:checkbox復(fù)選框在被選中再取消選中一次后,無法再次通過jQuery重新選中了。 如果發(fā)現(xiàn)不對,歡迎指正。如果知道怎么解決這個(gè)問...
閱讀 1390·2021-11-15 18:11
閱讀 2517·2021-08-19 10:56
閱讀 686·2021-08-09 13:42
閱讀 804·2019-08-30 15:53
閱讀 2094·2019-08-30 10:55
閱讀 3153·2019-08-29 17:18
閱讀 1445·2019-08-29 13:45
閱讀 554·2019-08-29 13:15