Javascript 语言的执行环境是单线程。即一次只能实现一个工作。若有多个工作则需排队一一执行——前一个工作实现,再执行后一个工作。这种执行模式实现简略,执行环境绝对单纯。但随着前端业务日渐简单,事务和申请等日渐增多,这种单线程执行形式在简单的业务下势必效率低下,只有有一个工作耗时很长,前面的工作都必须排队等着,会迁延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段 Javascript 代码长时间运行(比方死循环),导致整个页面卡在这个中央,其余工作无奈执行。为防止和解决这种问题,JS 语言将工作执行模式分为异步和同步。同步模式”就是上一段的模式,后一个工作期待前一个工作完结,而后再执行,程序的执行程序与工作的排列程序是统一的、同步的;”异步模式”则齐全不同,每一个工作有一个或多个回调函数(callback),前一个工作完结后,不是执行后一个工作,而是执行回调函数,后一个工作则是不等前一个工作完结就执行,所以程序的执行程序与工作的排列程序是不统一的、异步的。“异步模式”十分重要。在浏览器端,耗时很长的操作都应该异步执行,防止浏览器失去响应,最好的例子就是 Ajax 操作。在服务器端,”异步模式”甚至是惟一的模式,因为执行环境是单线程的,如果容许同步执行所有 http 申请,服务器性能会急剧下降,很快就会失去响应。