【23前端面试题】事件循环机制

事件循环机制

JS是单线程的,意味着同一时间内只能做一件事,但是这并不意味着单线程就是阻塞,而实现单线程非阻塞的方法就是事件循环机制。
在JS中把任务分为同步和异步,同步任务和异步任务的执行环境不同,同步任务会进入主线程,异步任务会进入EventQueue(事件队列),主线程中的任务执行完毕后,回去EventQueue中读取对应的任务,并推到主线程中执行,不断重复过程,称为EventLoop(事件循环机制)

  • 同步任务:立即执行的任务,一般会直接进入到主线程中执行,先于异步任务执行;
  • 异步任务:异步执行的任务,分为宏任务和微任务,微任务先于宏任务执行;
    • 微任务:process.nextTick、Promise.then/catch/finally、async修饰的函数,默认返回 Promise 对象
    • 宏任务:setTimeout、setInterval、ajax请求、文件读写操作

案例及每一步执行顺序的详细解读

你可能感兴趣的:(前端,okhttp)