经找资料后自己的理解:JS引擎是单线程的,但是浏览器是多线程的,其执行的方法如setTimeOut是由浏览器来调度的,计时器也是一个单独的线程(并不是JS引擎来计时)。而Promise.all(iterable) 方法返回一个 Promise 实例,其内部方法串行执行,比如P1先计时完成,浏览器的触发线程就将P1方法放到JS队列中由JS引擎来执行。
setTimeOut
Sign in to make a reply
Exmlyshy
经找资料后自己的理解:JS引擎是单线程的,但是浏览器是多线程的,其执行的方法如
setTimeOut
是由浏览器来调度的,计时器也是一个单独的线程(并不是JS引擎来计时)。而Promise.all(iterable) 方法返回一个 Promise 实例,其内部方法串行执行,比如P1先计时完成,浏览器的触发线程就将P1方法放到JS队列中由JS引擎来执行。