本文主要是阅读了几篇文章之后整理出来的笔记。
需要弄清楚的几个概念:
JS代码的运行需要JS引擎来解析,通常都需要一个宿主环境,例如浏览器或Node服务器。宿主环境会单开一个线程来调用JS引擎,用来运行JS。JS本身是单线程的,在处理一个任务的时候不可能去处理别的任务。也就是单凭JS是不可能异步编程的,必须借助一些别的机制。另外,浏览器是多线程的,例如HTTP请求线程、定时器线程、事件处理等… JS代码的运行需要JS引擎来解析,
本文主要是阅读了几篇文章之后整理出来的笔记。
JS代码的运行需要JS引擎来解析,通常都需要一个宿主环境,例如浏览器或Node服务器。宿主环境会单开一个线程来调用JS引擎,用来运行JS。JS本身是单线程的,在处理一个任务的时候不可能去处理别的任务。也就是单凭JS是不可能异步编程的,必须借助一些别的机制。另外,浏览器是多线程的,例如HTTP请求线程、定时器线程、事件处理等… JS代码的运行需要JS引擎来解析,