js 事件循环 & 宏任务 & 微任务 All In One


js 事件循环 & 宏任务 & 微任务 All In One

Node.js v10+ === Browser js

async function async1() {
  console.log('async1 start');
  await async2();
  console.log('async1 end');
}

async function async2() {
  console.log('async2');
}

console.log('script start');

setTimeout(() => {
  console.log('setTimeout');
}, 0);

async1();

new Promise(function(resolve) {
  console.log('promise1');
  resolve();
}).then(function () {
  console.log('promise2');
});

console.log('script end');


/* 
  script start

  async1 start
  async2
  promise1

  script end

  async1 end
  promise2

  setTimeout

按照顺序:先执行同步任务,在执行微任务里面的同步任务,后执行微任务,最后执行宏任务;


*/

nextTick

refs

https://zh.javascript.info/event-loop


Flag Counter

?xgqfrms 2012-2020

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有??xgqfrms, 禁止转载 ???,侵权必究??!