3.2. Event (Olay) Döngüsü

Node.js tek kanallı (threaded) bir uygulamadır ama event ve callback kavramları üzerinden eşzamanlığı destekler. Her Node.js API’si eşzamansız ve tek kanallıdır. Eşzamanlılığı korumak için async fonksiyon çağrılarını kullanır. Node kanalı bir event döngüsü tutar ve görev tamamlandığında ilgili olayı çalıştırmak için olay-dinleme fonksiyonu bir tetikleme işlemi yapar. 

Olaya Dayalı (Event-driven) Programlama

Node.js’in diğer benzer teknolojilere göre oldukça hızlı nedenlerinden biri olayları yoğun bir şekilde kullanmasıdır. Node.js sunucusu başlatılır başlatılmaz, değişkenlerini başlatır, fonksiyonları deklare eder ve olay gerçekleşmesini bekler. Olaya dayalı programlama da,  olayları dinleyen ana bir döngü vardır, ve bir olay tespit edildiğinde bir callback fonksiyonu tetiklenir.

Node.js olayları ve olay dinlemelerini bağlamak için kullanılan olaylar modülü ve EventEmitter sınıfı aracığıyla birden çok olaya sahiptir.

Bir olay ile bir olay işleyicisi (event handler) bağlamak için

Bir olayı tetiklemek için

Bir örnek:

Yukarıdaki kodun çıktısı aşağıdaki gibi olur.