宏任务、微任务及其执行顺序

本文深入探讨了JavaScript中宏任务和微任务的区别与执行顺序。通过实例代码演示,解释了定时器作为宏任务,而Promise对象的then方法创建的任务为微任务。文章详细分析了代码执行流程,揭示了即使定时器设置为0,微任务也会在宏任务之前执行的规律。
		setTimeout(()=>{console.log('我是宏任务')},0);
        let promise = new Promise(resolve => {resolve();console.log('新建promise')});
        promise.then(value =>{console.log('我是微任务')});
        console.log('主流程');

定时器对应的任务为宏任务,promise对象的then方法创建的任务为微任务,执行顺序首先执行promise对象初始化中的方法,它和主流程的方法一样先执行,然后执行微任务,最后执行宏任务,即使定时器的时间为0也是如此,以上代码的执行结果为
新建promise
主流程
我是微任务
我是宏任务
代码中的resolve();把promise对象的状态改为成功,于是当主流程执行完毕后会执行微任务中的成功方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值