異步socket編程,【JS基礎】異步和單線程

 2023-10-08 阅读 18 评论 0

摘要:同步和異步的區別是什么? js是單線程的,只能同時做一件事,所以就需要異步同步會阻塞代碼執行,而異步不會alert是同步,setTimeout是異步 // 異步 console.log(100); setTimeout(function () {console.log(200); }, 1000); console.log(300

同步和異步的區別是什么?

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請求,動態 <img> 加載
事件綁定
// ajax請求
console.log('start');
$.get('./data1.json', function (data) {console.log(data);
});
console.log('end');
// <img> 加載
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');

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/130262.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息