javascript异步编程

异步(Asynchronous,async)是与同步(Synchronous,sync)相对的概念

在我们学习的传统单线程编程中,程序的运行是同步的(同步不意味着所有步骤同时运行,而是指步骤在一个控制流序列中按顺序执行)。而异步的概念则是不保证同步的概念,也就是说,一个异步过程的执行将不再与原有的序列有顺序关系,异步的执行效率更高

异步就是从主线程发射一个子线程来完成任务,子线程独立于主线程,所以即使出现阻塞也不会影响主线程的运行。但是子线程有一个局限:一旦发射了以后就会与主线程失去同步,我们无法确定它的结束。javascript中的异步操作函数往往通过回调函数来实现异步任务的结果处理

 

回调函数

它在启动一个异步任务的时候定义完成了上面的任务之后要干什么

setTimeout(func, time):第一个参数是个回调函数,第二个参数是毫秒数

比如:

<p>回调函数等待 3 秒后执行</p>
<p id="demo"></p>
<script>
function print() {
    document.getElementById("demo").innerHTML="回调函数来了!";
}
setTimeout(print, 3000);
</script>

代表setTimeout()函数执行之后会产生一个子线程,子线程会等待 3 秒,然后执行回调函数print

 

异步AJAX

这在以后会详细介绍

posted @ 2022-05-08 21:18  树叶本子  阅读(27)  评论(0)    收藏  举报