setTimeout属于宏任务(相对的是微任务)
setTimeout(task,500);
nextFun();
执行时会启动异步线程,后续同步代码会正常执行。执行时会将task添加到宏任务队列的队尾,等到当前脚本的所有同步任务执行完,然后再等到本次Event Loop的“任务队列”的所有任务执行完,才会开始执行。执行时会检查是否到了指定倒计时时间,如果到了,就执行;如果不到,就等到再下一轮Event Loop时重新判断。
setTimeout属于宏任务(相对的是微任务)
setTimeout(task,500);
nextFun();
执行时会启动异步线程,后续同步代码会正常执行。执行时会将task添加到宏任务队列的队尾,等到当前脚本的所有同步任务执行完,然后再等到本次Event Loop的“任务队列”的所有任务执行完,才会开始执行。执行时会检查是否到了指定倒计时时间,如果到了,就执行;如果不到,就等到再下一轮Event Loop时重新判断。