1、JS是单线程语言,包括同步任务、异步任务,异步任务又包括宏观任务和微观任务 2、执行顺序:同步任务——>微观任务——>宏观任务 3、宏观任务的方法有:script(整体代码)、setTimeout、setInterval、I/O、UI交互事件、postMessage ...
, , , Promise是一个micro task 主线程是一个task micro task queue会在task后面执行 setTimeout返回的函数是一个新的task macro task queue 所以Promise会先于新task执行 根据html标准 一个task执行完后 ui会重渲染 vue源码: nextTick异步更新dom操作先判断是否支持Promise 再判断是否支 ...
2019-04-11 18:43 0 1102 推荐指数:
1、JS是单线程语言,包括同步任务、异步任务,异步任务又包括宏观任务和微观任务 2、执行顺序:同步任务——>微观任务——>宏观任务 3、宏观任务的方法有:script(整体代码)、setTimeout、setInterval、I/O、UI交互事件、postMessage ...
1、setTimeout 2、Promise Promise本身是同步的立即执行函数, 当在executor中执行resolve或者reject的时候, 此时是异步操作, 会先执行then/catch等,当主栈完成后,才会去调用resolve/reject中存放的方法执行,打印p ...
setTimeout与Promise的区别 1,4,3,2 Promise是一个micro task 主线程是一个task micro task queue会在task后面执行 setTimeout返回的函数是一个新的task macro ...
1. setTimeout 2. Promise Promise本身是同步的立即执行函数, 当在executor中执行resolve或者reject的时候, 此时是异步操作, 会先执行then/catch等,当主栈完成后,才会去调用resolve/reject中存放的方法 ...
解答这个题目之前,先回顾下JavaScript的事件循环(Event Loop)。 JavaScript的事件循环 事件循环(Event Loop):同步和异步任务分别进入不同的执行"场所" ...
1、示例 2、解释 最需要 解释的是:then和settimeout执行顺序,即setTimeout(fn, 0)在下一轮“事件循环”开始时执行,Promise.then()在本轮“事件循环”结束时执行。因此then 函数先输出,settimeout后输出 ...
提出问题,问题代码为 在控制台运行其结果为: 疑问:既然promise.then和setTimeout都是异步的,那么在事件循环队列中 promise.then的事件应该排在setTimeout后面,那为什么promise.then却在setTimeout前面被打 ...
的事件轮询。 任务队列包括宏任务(script全局,setTimeout,setInterval)和微 ...