js 循环 等待异步执行完再执行_JS的同异步执行顺序分享给大家

本文探讨JavaScript作为单线程语言如何处理异步操作,解释了事件循环机制中的宏任务和微任务,通过实例解析代码执行顺序,阐述了等待异步执行完再执行的概念。
摘要由CSDN通过智能技术生成

我们都知道,JS是一门单线程的脚本语言,单线程有个很大的问题就是阻塞;当我当前的动作没有完成时,后边的动作就要等着当前动作完成之后才能开始;那既然会有这么严重的,为什么JS还是选择了单线程?         

JS是让用户通过用来操作DOM的,那么试想一下,若是多线程的话,我点一个按钮,是要增加一个标签,但是另一个线程还没走完,这个线程是要删除一个标签,那么浏览器就蒙圈了,我到底听谁的,一个让我加,一个让我删除?这样乱套了。所以JS最终成了一门单线程的语言,那么怎么去解决这个阻塞呢? 异步应运而生!

// 代码块1
// 下边我们看看这个例子,来体验一下异步的神奇;
console.log(1);
setTimeout(()=>{
    console.log(2)
},10)
console.log(3);
for(let i = 0; i 999999999; i++){
    // 这个for循环执行完成所需事件大于10秒
}
console.log(4)

// 输入结果为: 1 3 4 2

上边的代码是怎么执行的呢?

JS的异步有个大特点,须当同步代码执行完成后,才会再去执行异步,哪怕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值