Bra*_*don 6 javascript v8 event-loop ecmascript-6
大多数解释浏览器中 JavaScript 并发模型的示例都列出了三个部分:调用堆栈、Web API 和事件队列。通常描述的正常过程是 Web API 不由核心 ECMAScript 处理,而是由 Web API 处理;此时它们会移入事件队列等待,直到调用堆栈为空才能执行。setTimeout
通常用作此过程的示例。
我的问题是:
1.)既然console.log是一个Web API,为什么它不进入setTimeout后面的事件队列?(它是否进入事件队列)?
2.) 如果它不进入事件队列,那么什么决定了哪些 API 从调用堆栈中拉出以经历事件循环过程?是不是只有那些等待某些东西并且有回调的API?
setTimeout(function(){
doSomething();
},0);
console.log('Hello World!');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1545 次 |
最近记录: |