摘要:同步和異步的區別是什么是單線程的,只能同時做一件事,所以就需要異步同步會阻塞代碼執行,而異步不會是同步,是異步異步同步秒之后點擊確認何時需要異步在可能發生等待的情況,等待過程中不能像一樣阻塞程序進行。因此,所有等待的情況都需要異步。
同步和異步的區別是什么?
js是單線程的,只能同時做一件事,所以就需要異步
同步會阻塞代碼執行,而異步不會
alert是同步,setTimeout是異步
// 異步 console.log(100); setTimeout(function () { console.log(200); }, 1000); console.log(300);
// 同步 console.log(100); alert(200); // 1秒之后點擊確認 console.log(300);
何時需要異步?
在可能發生等待的情況,等待過程中不能像alert一樣阻塞程序進行。因此,所有“等待的情況”都需要異步。
前端使用異步的場景有哪些?
定時任務:setTimeOut,setInterval
網絡請求:ajax請求,動態 加載
事件綁定
// ajax請求 console.log("start"); $.get("./data1.json", function (data) { console.log(data); }); console.log("end");
// 加載 console.log("start"); var img = document.createElement("img"); img.onload = function () { console.log("loaded"); }; img.src = "/xxx.png"; console.log("end");
// 事件綁定 console.log("start"); document.getElementById("btn1").addEventListener("click", function () { alert("clicked"); }); console.log("end");
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/100200.html
摘要:嚴格來說,并不是單線程的。其他異步和事件驅動相關的線程通過來實現內部的線程池和線程調度。線程是最小的進程,因此也是單進程的。子進程中執行的是非程序,提供一組參數后,執行的結果以回調的形式返回。在子進程中通過和的機制來接收和發送消息。 ??node遵循的是單線程單進程的模式,node的單線程是指js的引擎只有一個實例,且在nodejs的主線程中執行,同時node以事件驅動的方式處理IO...
摘要:那個率先改變的實例的返回值,就會傳遞給的回調函數。函數對函數的改進,體現在以下四點內置執行器。進一步說,函數完全可以看作多個異步操作,包裝成的一個對象,而命令就是內部命令的語法糖。中的本質就是沒有的隱藏的組件。 1、原型 - jquery使用showImg(https://segmentfault.com/img/bVbwNcY?w=692&h=442);注釋 : 實例雖然不同,但是構...
摘要:之所以是單線程,取決于它的實際使用,例如不可能同添加一個和刪除這個,所以它只能是單線程的。所以,這個新標準并沒有改變單線程的本質。 原文博客地址:https://finget.github.io/2018/05/21/async/ 異步 什么是單線程,和異步有什么關系 什么是event-loop 是否用過jQuery的Deferred Promise的基本使用和原理 介紹一下asyn...
摘要:這里借鑒了一下的處理方式,我們把單獨模塊的包裝成一個函數,提供一個全局的回調方法,加載完成時候再調用回調函數。 前端路由實現之 #hash 先上github項目地址: spa-routers運行效果圖showImg(https://segmentfault.com/img/bVFi7l?w=581&h=312); 背景介紹 用了許多前端框架來做spa應用,比如說backbone,ang...
閱讀 732·2021-08-17 10:11
閱讀 1599·2019-08-30 11:15
閱讀 1022·2019-08-26 13:54
閱讀 3510·2019-08-26 11:47
閱讀 1221·2019-08-26 10:20
閱讀 2822·2019-08-23 18:35
閱讀 1217·2019-08-23 17:52
閱讀 1300·2019-08-23 16:19