阮一峰精品文章 《JavaScript 运行机制详解:再谈Event Loop》
http://www.ruanyifeng.com/blog/2014/10/event-loop.html
~~ 时隔一年之后再次看的,写了个例子,感觉更加直观了,分享看看
const main = () => {
console.log('------main-for---');
};
const time = () => `Date.now()-->${ Date.now()} ,performance.now()-->${performance.now()}`;
const arr = [];
// 下面这些的顺序是随意写的
let count = 0;
let t = setInterval(function () {
if (count > 1) {
clearInterval(t);
}
count++;
console.log(time(), '----setInterval----', arr)
}, 1);
setTimeout(function () {
console.log(time(), '----timeout----', arr)
}, 0);
requestAnimationFrame(function () {
console.log(time(), '----requestAnimationFrame----', arr);
});
process.nextTick(function () {
console.log(time(), '----process.mextTick----', arr);
});
setImmediate(function () {
console.log(time(), '----setImmediate----', arr);
});
Promise.resolve(1).then(function (v) {
console.log(time(), '----Promise.resolve----', arr);
});
for (let i = 1; i < 100; i++) {
main();
arr.push(i);
}
console.log(time(), '---main-end--');
代码终究从手中来,骚年们,动起来 ♪(∇*)
好察非明,能察能不察之谓明;必胜非勇,能胜能不胜之谓勇。 ----《菜根谭》