从一个for循环到任务队列的宏任务和微任务的执行顺序(附大神连接)

本文深入探讨JavaScript中setTimeout、Promise及其then方法的执行顺序,通过一个for循环示例,解释宏任务队列与微任务队列的工作原理,帮助理解任务调度和事件循环。
摘要由CSDN通过智能技术生成

从浅入深的解决setTimeout,Promise,Promise.then的先后执行顺序。

如果你已经对for循环,作用域闭包等很熟练了,那么请直接点击**这里,进入到重点**中。

让我们从一个最简单的for循环入手

for (var i = 1;i <= 5;i ++) {
   
  console.log(i)
}
//1,2,3,4,5

如果我们修改一下需求,要求每秒输出一次呢?(老生常谈)

for (var i = 1;i <= 5;i ++) {
   
  setTimeout(function() {
   
    console.log(i)
  },i*1000)
}
//6,6,6,6,6

没错,是每隔一秒输出一次6,一共五次6(不是5呀老哥,虽然之前我也认为是5)
那么,怎么实现每隔一秒输出一次相对应的数字呢&

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值