关于async/await、promise和setTimeout执行顺序
转载
2021-05-14 20:31:42
862阅读
前段时间领导给我们出了一道题,关于async/await、promise和setTimeout的执行顺序,网上查了查资料,这是头条的一道笔试题,记录一下,加深理解。 题目如下: async function async1() { console.log('async1 start'); await
原创
2022-06-20 17:35:02
176阅读
什么是事件循环?想要了解什么是事件循环就要从js的工作原理开始说起: JS主要的特点就是单线程,所谓单线程就是进程中只有一个线程在运行。 为什么JS是单线程的而不是多线程的呢? JS的主要用途就是与用户交互,操作DOM,假设JS同时有两个线程,一个线程中在某个DOM节点上添加或者修改内容,而另一个线 ...
转载
2021-02-16 16:41:00
234阅读
什么是事件循环?想要了解什么是事件循环就要从js的工作原理开始说起:JS主要的特点就是单线程,所谓单线程就是进程中只有一个线程在运行。为什么JS是单线程的而不是多线程的呢?JS的主要用途就是与用户交互,操作DOM,假设JS同时有两个线程,一个线程中在某个DOM节点上添加或者修改内容,而另一个线程在这个DOM节点上执行删除该节点操作,这样就会产生冲突。单线程就意味着所有任务都需要排队,前一任务结束,
转载
2021-02-19 21:00:21
343阅读
2评论
前言promise为es6引进的语言标准,为异步编程的一种解决方案;阅读此文的前提是了解浏览器event loop的机制,还有promise的基本用法和特性,比如他自执行特性、状态不可逆特性等抛出问题且看下面代码和问题setTimeout(function(){console.log(1)},0);
new Promise(function(resolve){
console.log(2)
转载
2024-04-24 11:13:29
44阅读
事件的执行顺序,是先执行宏任务,然后执行微任务,这个是基础,任务可以有同步任务和异步任务,同步的进入主线程,异步的进入Event Table并注册函数,异步事件完成后,会将回调函数放入Event Queue中(宏任务和微任务是不同的Event Queue),同步任务执行完成后,会从Event Queue中读取事件放入主线程执行,回调函数中可能
原创
2023-05-08 20:34:50
289阅读
从一道题目出发今天看到一道面试题,是关于async/await、promise和setTimeout的执行顺序,题目如下:async function async1() {console.log('async1 start');await async2();console.log('asnyc1 end');}async function async2() {conso
转载
2023-02-27 11:26:35
157阅读
当然最开始顺序执行主线程程序。这里又涉及到异步的宏任务和微任务,setTimeout加入macrotask队列,是宏任务,Promise加入microtask队列,整体是微任务,主线程执行完了之后先从微任务栈里面获取微任务执行,没有微任务了,就去宏任务栈里面获取宏任务执行,所以在一个循环内,微任务是比宏任务先执行的Promise.then()是异步里面的微任务。setTimeout()
转载
2024-06-09 08:54:20
330阅读
1. setTimeoutconsole.l
请选择二级分类
OpenStack
虚拟化
云平台
Office 365
云服务
Docker
其它
kubernetes
事件循环 异步操作 函数体
标签最多设置5个,用,或;间隔
原创
2023-01-03 15:02:11
153阅读
结果 总结: 1、promise和process.nextTick在程序中是先于settimtout执行的; 2、在promise和process.nextTick里面的console语句的执行速度是三个中最快,它与promise和process.nextTick执行的顺序无关,只与promise和
转载
2021-08-04 15:43:25
399阅读
/* 原则: 执行完当前promise, 会把紧挨着的then放入microtask队尾, 链后面的第二个then暂不处理分析, */ 一、 new Promise((resolve, reject) => { console.log("promise1") resolve() }).then( (
原创
2021-09-01 16:31:32
763阅读
# 如何实现“jquery settimeout 顺序执行”
## 1. 事情的流程
首先我们需要明确整个流程,可以用表格展示步骤:
| 步骤 | 描述 |
|------|----------------------------------|
| 1 | 设置多个setTimeout函数 |
| 2
原创
2024-03-15 07:35:02
90阅读
1、代码 控制台输出: 2、说明 promise将执行结果(不管是resolve还是reject),传到then和catch中。
转载
2018-11-07 11:17:00
174阅读
2评论
但要是处理复杂业务,比如先调接口拿用户信息,再拿用户订单,再根据订单查物流,async/await 绝对是最优解,代码逻辑清晰
了解event loop但未必能说明白这个面试题,一起来彻底理解async await
转载
2022-03-03 16:52:28
607阅读
代码<script>
console.log(1)
const p = new Promise((resolve) => {
console.log(2)
resolve()
})
console.log(3)
setTimeout(() => {
console.l
转载
2024-03-22 12:43:18
25阅读
面试遇到的promise的执行顺序问题,在这里,总结下。之前博客的账号忘记了,新建了一个。1、 const promise = new Promise((resolve, reject)=>{
console.log(1);
resolve();
console.log(2);
})
promise.then(()=>{
console.log(
转载
2024-03-29 06:32:34
296阅读
class Person { async getVersion () { return new Promise((resolve, reject) => { setTimeout(function () { resolve('1.0'); // reject('fail') }, 1000); ...
转载
2018-07-16 09:04:00
52阅读
2评论
function timeout(delay){ return new Promise(resolve => setTimeout(resolve, delay)); }; timeout(2000).then(()=>{ console.log('2s'); return timeout(2000
原创
2021-09-05 09:21:08
295阅读
首先执行同步代码, promise() 构造函数中的代码是同步代码, .then和.catch里的是异步代码.执行顺序:已申明的函数–>new Promise–>setTimeout;在Promise函数中后执行.then()函数; testFunction() { console.log(`con ...
转载
2021-10-15 10:41:00
619阅读
2评论