前言
撰文:川川
平日的编码中,你能列出你常用的异步编码?怎么理解同步与异步?...,ajax的事情还没有处理完成的时候,我们点击div,可以立马变色,ajax的事情并不影响当前页面中其他效果,开启了一个新的线程去完成ajax的事情,并不影响主线程,其他页面在主线程当中的其他任务的...首先我们知道了JS里的一种任务分类方式,就是将任务分为: 同步任务和异步任务
虽然JS是单线程的,但是浏览器的内核却是多线程的,在浏览器的内核中不同的异步操作由不同的浏览器内核模块调度执行,异步任务操作会将相关回调添加到任务队列中...代码是同步顺序执行的,但是浏览器本身是多线程的,js实现异步是通过事件循环来实现的
定时器setTimeout,setInterval本质上是浏览器提供API,它是异步执行的.也就是说,异步函数代码它不会立即执行调用...一旦遇到异步的任务,会将它安排到一个任务队列中挂起状态,浏览器重新开一个新的线程单独处理它,它并不会阻塞主线程的代码,当主线程任务处理完了,有空闲时,此时,等待执行异步任务队列中的事情
异步处理在js