求助,这个怎么会这么输出啊
javascript吧
全部回复
仅看楼主
level 11
小凶许来咯
楼主
var arr = []
setTimeout(() => arr.push(6), 0)
arr.push(1)
const p = new Promise(resolve => {
arr.push(2)
resolve()
})
arr.push(3)
p.then(() => arr.push(5))
arr.push(4)
setTimeout(() => arr.push(7), 0)
2021年04月28日 14点04分
1
level 10
贴吧用户_aJDbD8a
同步异步的原因,push(1、2、3、4)的时候是同步执行,push(5、6、7)的时候是异步;
所有的异步程序的执行都会在同步程序执行结束之后再来执行,setTimeOut的设置的延迟是0也是异步;异步程序的执行顺序,如果时间相同,看代码的先后顺序,如果时间不同,时间短的先执行
2021年04月29日 08点04分
2
小凶许来咯
谢谢宁,貌似懂了
2021年04月29日 10点04分
1