宏任务与微任务

首先什么宏任务和微任务

  • 宏任务:setTimeout , setInterval , Ajax , Dom 事件
  • 微任务:Promise , async / await
  • 执行顺序:微任务要比宏任务要早(优先执行微任务)
  • js:最先执行同步操作,微任务,宏任务,

异步和同步的区别

  • 异步不会阻塞程序的执行,
  • 同步会阻塞程序的执行,
  • 前端使用异步的场景
  • 定时任务:setTimeout,setInverval
  • 网络请求:ajax请求,动态《img》加载

事件绑定:

//ajax请求代码示例
console.log('start')
$.get('./data1.json',function(data1){
	console.log(data1)
})
console.log('end')
console.log('start'var img = document.createElement('img')
img.onload=function(){
console.log('loaded')
}
img.src='/xxx.png'
conlose.log('end')

事件绑定

console.log('start')
document.getElementById('btn1').addEventListener('click',function(){
alert('clicked')
})
conlose.log('end')
  • 也就是请求处理过程中,你不能闲着,会产生异步的请求,回头再处理,然后继续执行下面的请求

同步异步问题

  • 首先,你要知道javascript是单线程语言。js任务需要排队顺序执行,如果一个任务耗时过长,后边一个任务也的等着,但是,假如我们需要浏览新闻,但新闻包含的超清图片加载很慢,总不能网页一直卡着直到图片完全出来,所以将任务设计成了两类:

同步和异步

  • js的执行机制为遇到宏任务先放入任务队列然后在执行微任务
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值