,必须等待打完了一个,然后再接着打下一个的
在如何看待同步之前,有必要了解下计算机中两个专业术语概念,就是进程和线程
进程: 它是系统进行资源分配和调度的一个独立单位,具有一定独立功能的程序关于某个数据集合上的一次运行活动...:点击按钮,加载后端数据,将数据添加到前端页面中
如果把xhr.open()的第三个参数设置为false,则是同步的,当你点击按钮后,你点击下面的方块框,点击事件它是不会执行的,必须得等到上面的事情(加载数据...按照这种分类方式:JS的执行机制是
首先判断js代码是同步还是异步,不停的检查调用栈中是否有任务需要执行,如果没有,就检查任务队列,从中弹出一个任务,放入栈中,如此往复循环,要是同步就进入主进程,异步就进入事件表...异步任务在事件表中注册函数,当满足触发条件后,被推入事件队列
同步任务进入主线程后一直执行,直到主线程空闲时,才会去事件队列中查看是否有可执行的异步任务,如果有就推入主进程中
以上三步循环执行,这就是事件循环...代码是同步顺序执行的,但是浏览器本身是多线程的,js实现异步是通过事件循环来实现的
定时器setTimeout,setInterval本质上是浏览器提供API,它是异步执行的.也就是说,异步函数代码它不会立即执行调用