
获得徽章 0
- 在 Chrome 火焰图中,y-axis 表示 call stack(可联系 stack 类型数据结构理解,如 ES 中的 execution context stack)。 —— Chrome dev-tools doc Figure 16评论点赞
- 在 Chrome 火焰图中,y-axis 表示 call stack(Chrome dev-tools doc Figure 16)。评论点赞
- 搞不懂为什么好多人说 mircotask 先于 marcotask 执行 ? w3c 和 WHATWG HTML living standard 的 event loops processing model 章节不写着在 `task queue` 不为空的情况下,始终以一个 `marcotask` 为一次 `event loop` 的起点吗?
再说结合实际来说每次 JS 代码执行始终以 script 全局上下文作为代码执行的初始环境,即以一个 script 宏任务作为 `event loop` 的开端。我能得出的结论也只能是在 `task queue` 不为空的情况下,`marcotask` 始终是先于当前 `event loop` 中的 `microtask`。或者理解为 `microtask` 始终先于 下一个 `marcotask` 执行。展开评论点赞 - 在 Promise plus 规范中规定,Promise.then 既可使用 marco-task 实现,也可使用 micro-task 实现。评论点赞
- 根据最新的 html living standard 第 10,11 条 和 w3c html 5.2 标准 timer 章节第 7,8 条,setTimeout 仅在算法嵌套级别大于 5 ,且 timeout 值小于 4 时,才会将 timeout 提升为 4ms。而不是没有前提的直接将小于 4ms 的 timer 提升为 4ms 的 timer。另外 mdn 中也存在相关解析。 对于 setInterval 可理解为 setTimeout 的算法嵌套,那么 setInterval 的 timeout 最小值即为 4ms。
w3c timer:www.w3.org
HTML living standard:html.spec.whatwg.org
MDN:developer.mozilla.org
展开评论点赞 - 根据最新的 html living standard 第 10,11 条 和 w3c html 5.2 标准 timer 章节第 7,8 条,setTimeout 和 setInterval 仅在算法嵌套级别大于 5 ,且 timeout 值小于 4 时,才会将 timeout 提升为 4ms。而不是没有前提的直接将小于 4ms 的 timer 提升为 4ms 的 timer。另外 mdn 中也存在相关解析。
w3c timer:html.spec.whatwg.org
mdn:developer.mozilla.org
展开评论点赞