then 异步执行
then 的回调应该异步执行(微任务),使用 queueMicrotask 确保 then 回调在当前同步代码之后执行。
本节要点
将 #runHandlers 的执行用 queueMicrotask 包裹, 确保 then 的回调不会同步执行,而是注册为微任务。这样 Promise.then 的回调一定在同步代码之后执行。
#runHandlers 变更
Loading code...
完整代码
Loading code...
运行示例
示例一:then 回调在同步代码之后执行
示例代码
Loading...
示例二:多个 then 的执行顺序
示例代码
Loading...
示例三:异步 resolve + 微任务
示例代码
Loading...