为了账号安全,请及时绑定邮箱和手机立即绑定

javascript异步执行时候是不是等主线程都执行完毕之后才执行回调函数?

javascript异步执行时候是不是等主线程都执行完毕之后才执行回调函数?

撒科打诨 2018-12-29 23:14:06
我们说javascript是单线程异步的,通过回调函数实现异步。那什么时候执行回调函数呢?通常我们是说当线程空闲的时候才会执行事件循环中的队列中的回调,那么什么时候才算是主线程空闲呢?如果主线程中有很多代码需要执行,是不是事件循环队列中的回调就不会按时执行了    setTimeout(function(){        console.log(1);    },2000);    for(let i=0;i<10000000){        //一些代码    }    ....后面还有很多代码需要执行 还有一个事件驱动,既然是事件驱动,那么如果触发了一个事件,应该会立即执行该事件的回调函数,但是如果主线程中还有很多代码未执行完,那么这个事件的回调就不会执行,这样不是效率会特别低吗?希望有人能给我解答一二。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 499 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信