帝国网站开发,公司测名,网站建设代码大全,软文推送实践#xff1a;事件循环
代码示例
console.log(1);
setTimeout(() console.log(2), 0);
Promise.resolve(3).then(res console.log(res));
console.log(4);上述的代码的输出结果是什么 1和4肯定优先输出#xff0c;因为他们会立即方式堆栈的执行上下文中执行事件循环
代码示例
console.log(1);
setTimeout(() console.log(2), 0);
Promise.resolve(3).then(res console.log(res));
console.log(4);上述的代码的输出结果是什么 1和4肯定优先输出因为他们会立即方式堆栈的执行上下文中执行3这个then回调函数会被放入微队列中优先处理而计时器会放入回调队列中等待微队列执行完毕后再放入调用堆栈中执行 所有回调队列中的代码是无法保证执行效率的我们可以在用一个Promise来执行一个长时间的一个微队列
console.log(1);
setTimeout(() console.log(2), 0);
Promise.resolve(3).then(res console.log(res));
Promise.resolve(4).then(res {for (let i 1; i 100000000000; i) {}console.log(res);
});
console.log(5);如果微队列需要等待很长的时间所以对于回调队列中的函数我们无法保证它的执行效率