定时器
const s = new Date().getSeconds(); setTimeout(function() { // 输出 "2",表示回调函数并没有在 500 毫秒之后立即执行 console.log("Ran after " + (new Date().getSeconds() - s) + " seconds"); }, 500); while(true) { if(new Date().getSeconds() - s >= 20) { console.log("Good, looped for 2 seconds"); break; } }
Good, looped for 2 seconds
Ran after 20 seconds
定时器异步操作,必须等主线程执行完才会执行。
参考:
EventLoop