Di kode dibawah disana terdapat pemanggilan setTimeout
yang sudah terjadwal, lalu kalkulasi yang cukup berat berjalan, yang memakan waktu lebih dari 100ms untuk selesai.
Kapankan fungsi yang sudah dijadwal akan berjalan?
- Setelah perulangannya.
- Sebelum perulangannya.
- Di awal dari perulangannya.
Apakan yang akan alert
tampilkan?
let i = 0;
setTimeout(() => alert(i), 100); // ?
// asumsikan waktu untuk mengeksekusi fungsi ini lebih dari 100ms
for(let j = 0; j < 100000000; j++) {
i++;
}
setTimeout
apapun akan berjalan hanya setelah kode yang sedang berjalan saat ini telah selesai.
i
nya akan menjadi yang terakhir: 100000000
.
let i = 0;
setTimeout(() => alert(i), 100); // 100000000
// asumsikan waktu untuk mengeksekusi fungsi ini lebih dari 100ms
for(let j = 0; j < 100000000; j++) {
i++;
}