Latihan 1 dari materi Event Loop Deep Dive di Node.js — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Buktikan urutan event loop dengan kode yang mencampur baris sinkron, timer, microtask, dan Promise.
Kode awal sudah mencetak 1 sync di baris pertama dan 1b sync di baris terakhir, dengan tiga komentar di antaranya. Biarkan dua baris itu. Di bawah tiap komentar, sesuai urutannya:
- Jadwalkan timer bertunda 0 yang mencetak
4 timer: setTimeout(() => { console.log("4 timer"); }, 0);
- Jadwalkan microtask yang mencetak
2 microtask: queueMicrotask(() => { console.log("2 microtask"); }); (process.nextTick juga diterima).
- Baru setelah itu jadwalkan lanjutan Promise yang sudah selesai yang mencetak
3 promise: Promise.resolve().then(() => { console.log("3 promise"); });
Tiap baris harus dicetak dari dalam penjadwalnya sendiri, bukan ditulis berurutan seolah hasilnya sudah diketahui.
Output yang dinilai, persis lima baris ini dengan urutan ini:
1 sync
1b sync
2 microtask
3 promise
4 timer
Yang juga dinilai: kodenya memakai setTimeout(, queueMicrotask( (atau process.nextTick(), dan .then(, dan console.log untuk 4 timer, 2 microtask, dan 3 promise ada di dalam masing-masing.