事件循环eventloop微宏任务

凡是异步代码和定时器代码都会等待主程序执行完毕再开始
异步操作:
1、定时器演示器
2、ajax
3、绑定的onclick事件函数

console.log(1);
setTimeout(function(){
	console.log(2);
},0)
console.log(3); 
//打印的顺序为1,3,2,因为setTimeout是异步函数

new Promise就会立即执行

console.log(1)
new Promise(function(resolve,reject){
	console.log('2');
})
console.log(3);
//打印顺序为1,2,3

而.then是需要异步的

console.log(1)
let p1=new Promise(function(resolve,reject){
	console.log('2');
})
p1.then(function(){
	console.log(3);
})
console.log(4);
//打印顺序为1,2,4,3

宏任务:定时器延时器 微任务:promise
先同步 再取出第一个宏任务执行所有的相关微任务总会在下一个宏任务之前全部执行完毕
如果再遇见就先微后宏

consloe.log(1)
setTimeout(function(){
	console.log(2)
},0)
new Promise(function(resolve){
	console.log('3')
	resolve();
	}).then(function(){
	console.log(4)
})
//1,3,4,2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值