eventloop with block
by jin5354
JavaScript
const startingTimePoint = Date.now()
console.log(Date.now() - startingTimePoint, 'A console')
setTimeout(() => {
console.log(Date.now() - startingTimePoint, 'B setTimeout')
}, 0)
setTimeout(() => {
console.log(Date.now() - startingTimePoint, 'F setTimeout')
}, 0)
Promise.resolve().then(() => {
console.log(Date.now() - startingTimePoint, 'C promise')
})
requestAnimationFrame(() => {
console.log(Date.now() - startingTimePoint, 'D raf')
})
console.log(Date.now() - startingTimePoint, 'E console')
block(200)
function block(time){ //假装我是一个耗时任务
const now = Date.now()
while(Date.now() - now < time) {}
}