首页 > TAG信息列表 > macrotask

setTimeout 为什么会出现误差?

1.JS是单线程的 2.进程(process) 指的是CPU 在 运行指令及加载和保存上下文所需的时间,放在应用上是指计算机中已运行的程序。 3.线程(thread) 是操作系统能够进行运算的最小单位。它被包含在 进程 之中,描述了执行一段指令所需的时间。 4.执行栈可以理解为是用来存储函数调用的栈

setTimeout 是到了xx ms 就执行吗,了解浏览器的 Event-Loop 机制

最近看了波 JavaScript 相关的文章,不得不说,JavaScript 我还真没玩明白(给我哭~。。。

结合microtask和macrotask理解event-loop

这篇文章真的是好文。讲的很清晰,看完之后更深一步的理解了事件循环机制。 http://www.jianshu.com/p/12b9... 简短的概述下总结 setTimeout是一个宏任务源,写在里面的回调函数会加到宏任务队列中。 Promise是一个微任务源,写在里面resolve以及reject回调会被加到微任务队列中。 事

通过microtask和macrotask理解Vue.nextTick()的实现

一丶JavaScript 运行机制详解:再谈Event Loop    1.JavaScript 运行机制详解:       JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只

事件循环

本文记录对事件循环的理解 setTimeout与setInterval 定时器不是javascript自身的一个功能,是javascript运行在浏览器环境中浏览器为其实现的一个功能。 javascript是单线程的,同一时间只能执行一个代码块,这些代码块阻塞了异步事件的执行。当一个异步事件发生时(鼠标点击,定时器,ajax

macrotask与microtask

macrotask(宏任务):主代码块、setTimeout、setInterval等 microtask(微任务):Promise、process.nextTick等 下面通过【今日头条】这道面试题详细说明一下: async function async1() { console.log( 'async1 start' ) await async2() console.log( 'async1 end' ) } async