Olay Döngüsü
Coddy'nin Node.js Journey'sinin Node.js Temelleri bölümünün bir parçası. Ders 18 / 24.
Geri çağırımlar ve promise'ler daha sonra çalışır ve hatalar tam olarak ne zaman çalıştıklarını bilmemekten kaynaklanır.
Node önce tüm eşzamanlı kodu sonuna kadar çalıştırır. Ardından mikro görevleri çalıştırır: promise geri çağırımları ve queueMicrotask'e geçirilen işlevler. Ancak bundan sonra zamanlayıcılar gelir; setTimeout(fn, 0) bile yalnızca süresi dolduğunda çalışır.
setTimeout(() => console.log('C timer'), 0);
Promise.resolve().then(() => console.log('B promise'));
console.log('A sync');
// A sync, B promise, C timer0 gecikme, mikro görevlerden sonra mümkün olan en kısa sürede çalışmak anlamına gelir; hiçbir zaman onlardan önce değil. Zamanlayıcılar gecikme sürelerine göre sırayla çalışır; gecikmeler eşitse önce ayarlanan zamanlayıcı önce çalışır.
Görev
Kolayorder.js,1 sync,2 microtask,3 timeout,4 timeout laterçıktısını bu sırayla verir.- Dört satırı yerlerinde bırak. Bunları bir
queueMicrotaskve ikisetTimeoutçağrısıyla sar.
node order.js komutunu çalıştır ve tahmininle karşılaştır. Ardından her iki zamanlayıcıya da 0 gecikme ver ve yeniden çalıştır.
Kendin dene
// Bu satırların yerlerini değiştirmeden numara sırasına göre yazdırılmasını sağlayın.
// Bunun yerine onları queueMicrotask ve setTimeout içine alın.
console.log('4 timeout later');
console.log('3 timeout');
console.log('2 microtask');
console.log('1 sync');
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Node.js Temelleri bölümündeki tüm dersler
1JavaScript'ı Node Üzerinde Çalıştırma
Merhaba, NodeKomut Satırı ArgümanlarıKomutlar