js是单线程的处理机制,单线程一个时间只能执行一件事,为了针对这一情况,出现了同步和异步。
如果要执行下面这段代码:
console.log(1); //1
setTimeout(function (){
console.log(2); //2
},0);
console.log(3); //3
//打印结果 1 3 2
为了知道其执行过程,需要知道代码中哪些是同步代码那些是异步代码。
以上代码:1和3是同步 2是异步
重点:
同步代码:立即放入js引擎(js主线程)来执行,并且原地等待结果。
异步代码:先放入宿主环境(浏览器、Node),不必原地等待结果,并且不会阻塞主线程继续向下执行,异步结果会在将来的某个时刻执行。