
博主推荐前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到网站之前我们想尽一切办法来创建一个自定义的微任务如Promise.then、MutationObserver浏览器环境中的 API用于监视 DOM 变动、async/await、process.nextTick仅Node.js支持本质来说它不是事件循环的一部分。在偶然的情况下我发现浏览器竟然具有专门产生微任务的方法它就是原生的queueMicrotask方法该方法存在于window对象中并且目前兼容性还不错queueMicrotask用法很简单传入一个想要被包装成微任务的函数即可看下面的例子console.log(1);queueMicrotask((){console.log(2);Promise.resolve().then((){console.log(3);});setTimeout((){console.log(4);queueMicrotask((){console.log(5);});});});setTimeout((){Promise.resolve().then((){console.log(6);});console.log(7);queueMicrotask((){console.log(8);});});console.log(9);打印结果 1 9 2 3 7 6 8 4 5相对来说queueMicrotask是产生微任务最方便的方法了希望还没实现的浏览器厂商抓紧时间跟进网上搜了一下发现早在18年 queueMicrotask 提案就得到了通过19年就有哥们介绍了该 API我竟然现在才知道实属汗颜。