const asyncFunction = function() { return new Promise(function(resolve, reject) { resolve('promise'); });};asyncFunction().then(value => console.log(value));setTimeout(() => { console.log('settimeout') }, 0);输出// promise// settimeout请问两个都是异步的函数,为什么setTimeout函数后执行?
1 回答
九州编程
TA贡献1785条经验 获得超4个赞
Promise 是microtask 队列
而setTimeout属于 macrotask 队列
在一个Tasks执行之后会立刻执行microtask队列,而后执行macrotask队列
macrotask永远在 microtask 之后执行
添加回答
举报
0/150
提交
取消