JS中同步與非同步

來源:互聯網
上載者:User

標籤:class   技術   跳過   set   ima   timeout   out   代碼   結束   

不講過多定義,舉兩個例子說明下

例一:

console.log(100);setTimeout(function(){    console.log(200);},1000);console.log(300);

上面代碼就是一個非同步過程,結果是:

它先列印出100和300,一秒後再列印出200。

 

 

例二:

console.log(100);alert(200);console.log(300);

上面代碼是一個同步過程,它先列印出100,然後確認彈窗後,再列印出300。

 

由上例子可以知道,

  同步會阻塞代碼執行,即必須等alert執行結束,才能執行下面的代碼,從上自下按順序執行;

  而非同步則不會阻塞代碼執行,會跳“執行”,即跳過了定時器部分,先執行了後面的代碼,再回過來執行定時部分。

 

所有“等待的情況”都需要非同步,如定時任務,網路請求,事件綁定。

 

JS中同步與非同步

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.