原文:重学前端 --- Promise里的代码为什么比setTimeout先执行?

首先通过一段代码进入讨论的主题 了解过 Promise 对象的都知道 如果还不了解,可以查看 Promise对象 ,Promise 新建后会立即执行,所以首先会输出a,这个没有问题。setTimeout 和 then 这两个回调函数会在本轮事件循环结束以后执行,所以第二个输出的是b,这个也没有问题,但是回过头来执行 setTimeout 和 then 方法时,setTimeout 的执行顺序明明先 ...

2019-04-23 16:11 0 1786 推荐指数:

查看详情

Promise代码为什么比setTimeout执行

当浏览器或者Node拿到一段代码时首先做的就是传递给JavaScript引擎,并且要求它去执行。 然而,执行 JavaScript 并非一锤子买卖,宿主环境当遇到一些事件时,会继续把一段代码传递给 JavaScript 引擎去执行,此外,我们可能还会提供 API 给 JavaScript 引擎 ...

Thu Jun 13 22:17:00 CST 2019 0 622
PromisesetTimeout执行顺序

1、示例 2、解释 最需要 解释的是:then和settimeout执行顺序,即setTimeout(fn, 0)在下一轮“事件循环”开始时执行Promise.then()在本轮“事件循环”结束时执行。因此then 函数输出,settimeout后输出 ...

Tue May 05 20:16:00 CST 2020 0 1668
重学前端--js是面向对象还是基于对象?

重学前端-面向对象 跟着winter老师一起,重新认识前端的知识框架 js面向对象或基于对象编程 以前感觉这两个在本质上没有什么区别,面向对象和基于对象都是对一个抽象的对象拥有一系列的行为和状态,本质都是对象层。拜读了winter老师的音频和文档,颇有收获。 对象: 一个可以触摸 ...

Tue Mar 19 04:45:00 CST 2019 0 646
promisesetTimeout执行顺序的问题

提出问题,问题代码为 在控制台运行其结果为: 疑问:既然promise.then和setTimeout都是异步的,那么在事件循环队列中 promise.then的事件应该排在setTimeout后面,那为什么promise.then却在setTimeout前面被打 ...

Tue Dec 25 00:07:00 CST 2018 0 684
关于setTimeoutPromise执行顺序问题

先看一段代码 执行结果: 可以看出PromisesetTimeout()执行。 因为Promise定义之后便会立即执行,其后的.then()是异步里面的微任务。 而setTimeout()是异步的宏任务。 引自https ...

Fri Aug 31 19:21:00 CST 2018 0 6193
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM