What will setTimeout show?
importance: 5
In the code below there’s a setTimeout
call scheduled, then a heavy calculation is run, that takes more than 100ms to finish.
When will the scheduled function run?
- After the loop.
- Before the loop.
- In the beginning of the loop.
What is alert
going to show?
let i = 0;
setTimeout(() => alert(i), 100); // ?
// assume that the time to execute this function is >100ms
for(let j = 0; j < 100000000; j++) {
i++;
}
Any setTimeout
will run only after the current code has finished.
The i
will be the last one: 100000000
.
let i = 0;
setTimeout(() => alert(i), 100); // 100000000
// assume that the time to execute this function is >100ms
for(let j = 0; j < 100000000; j++) {
i++;
}