亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

對于同步代碼和異步代碼問題的理解

同步代碼就是代碼1沒執行完不能執行代碼2

異步代碼就是代碼1沒執行完也可以直接到代碼2,以此類推。

在本章老師的var boy=boywalk( )下的代碼就是異步碼

咋一看好像是同步,實際上then里的代碼沒執行完就已經執行下一個代碼了

可以這樣嘗試是否真的如此。如then(這里設置一個動畫是增加id="boy"的寬度).then(這里改變id="boy"的背景顏色)。此時執行時你會發現寬度動畫沒有執行完畢,背景顏色已經被設置。

而老師為什么要加return walkto()呢?為了返回新的對象實現和同步代碼一樣的效果,就是等待對象的出現在執行下面的代碼,此時仍然是異步代碼,是異步中等待,等待什么呢就是新對象的出現。比如本章第一return后與第二個return之間的代碼就是等待第一個return 返回的對象才能執行,同理第二個return后面的代碼也是等待第二個return返回新的對象再執行。所以出現了同步代碼效果(實質是異步等待)。

那么移除return后當然也是異步代碼啦,為什么移除后直接就編程藍色呢?因為這些代碼執行就是一瞬間的事情,所以異步和同步效果是一樣的。

如果移除return默認的第一個對象就是第一個walkto()因為then()函數里面沒有返回值的話,執行就執行了,如果有返回的值的話,如果是對象就會從新選擇對象執行下面的代碼。

這是我的理解了。至于如何實現異步代碼,那我還不太懂,那就得從jq的dfd對象說起了吧。有待學習研究中...

正在回答

3 回答

看了文章很有幫助,謝謝樓主分享~?

0 回復 有任何疑惑可以回復我~

對了我吧我在網上找到的問題的講解鏈接放這里http://www.jb51.net/article/28054.htm,大家可以看看幫助理解,很好理解的,我看了這里的講解發現我上面的理解基本是正確的,為什么要返回deferred對象的.resolve狀態就是要告訴.then()里的代碼執行的狀態,是否完成(deferred.resolve),未完成即一直保持執行狀態(deferrde.promise),失?。╠eferred.reject),這是jquery規定的任意deferred對象都有的三中執行狀態。

4 回復 有任何疑惑可以回復我~

希望理解正確,大神們覺得對的給個贊吧,就更加有動力學習了

4 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
H5+JS+CSS3實現七夕言情
  • 參與學習       211515    人
  • 解答問題       570    個

為七夕節準備的H5+JS+CSS3特效案例,由淺入深案例拆分講解

進入課程

對于同步代碼和異步代碼問題的理解

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號