Microtasks dan Macrotasks dalam Gelung Acara
Semasa meneroka spesifikasi Promises/A, anda mungkin pernah menemui istilah "microtask" dan " tugasan makro." Konsep ini penting untuk memahami aliran pelaksanaan dalam gelung peristiwa.
Perbezaan antara Tugasan Mikro dan Tugasan Makro
Setiap lelaran gelung terdiri daripada tugasan makro tunggal yang dilaksanakan. Selepas itu, semua tugasan mikro yang belum selesai diproses serta-merta. Walau bagaimanapun, tugasan mikro ini boleh menjana tugasan mikro tambahan semasa pelaksanaannya. Semua tugasan mikro ini dilaksanakan secara berurutan sehingga baris gilir tugasan mikro kosong.
Akibat Praktikal
Jika tugasan mikro membariskan tugasan mikro yang lain secara rekursif, ia boleh melambatkan pelaksanaan tugasan makro seterusnya . Ini berkemungkinan menyekat antara muka pengguna atau menghalang penyiapan operasi I/O.
Mekanisme Perlindungan
Node.js mempunyai perlindungan terbina dalam terhadap baris gilir microtask yang berlebihan melalui mekanisme proses.maxTickDepth. Nilai ini mengehadkan kedalaman pelaksanaan microtask kepada nilai lalai 1000.
Bila Menggunakan Mana
Contoh
Atas ialah kandungan terperinci Microtasks lwn. Macrotasks: Bilakah Anda Harus Menggunakan Yang Mana dalam Gelung Acara JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!