javascript异步编程

javascript语言有一个很大的特点就是单线程,也就是在同一个时间只能处理一个任务。为了协调时间,用户交互,网络处理等行为。防止线程不被阻塞,Event Loop 的方案应用而生。
javascript引擎处理任务是在执行任务,等待任务,休眠等新任务中不断循环,这种机制被称为时间循环。

javascript中的任务分类

同步任务
程序一运行就会执行的任务,无需等待
异步任务
异步任务:不会立即执行的任务(异步任务又分为宏任务与微任务),网络请求,DOM时间,定时器等都是异步任务。微任务的优先级比宏任务的优先级高。

setTimeout(() => {
    console.log("异步宏任务");
},1000)
Promise.resolve()
  .then(function() {
    console.log("异步微任务");
  })
console.log("同步任务")
输出:同步任务
		异步微任务
		异步宏任务

为了更好理解直接上图
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值