Event loop Node (tiếp tục)
Event loop chạy theo một đường (nó là một hàng cái đầu tiên vào, cái đầu tiên ra) và đi qua một vài
pha. Ảnh trên thể hiện một tập đơn giản hoá các pha quan trọng cái chạy trên mỗi lần lặp của loop. Trước
tiên, các cái đếm thời gian thực thi, cái là các cái đếm thời gian lên kế hoạch với các hàm Javascript
setTimeout và setInterval. Tiếp theo, các callbacks I/O chạy, nên nếu bất cứ I/O nào trả về từ một trong
những lời gọi mạng nonblocking, đây là nơi callback của bạn được châm ngòi. Pha poll là nơi các sự kiện
I/O mới được giành, và sau đó các callbacks lên kế hoạch với setImmediate chạy tại cuối. Đây là một trường
hợp đặc biệt vì nó cho phép bạn lên kế hoạch một callback để chạy ngay lập tức sau các callbacks I/O hiện
tại đã ở trong hàng. Cái này có thể có vẻ trừu tượng tại giai đoạn này, nhưng cái bạn nên lấy đi là ý tưởng
rằng mặc dù Node là thread đơn, nó đã cung cấp cho bạn các công cụ để viết code tăng quy mô và hiệu quả.
Trong các học phần, bạn có thể nhận thấy rằng các ví dụ đã được viết sử dụng các hàm arrow ES2015. Node
hỗ trợ nhiều đặc tính Javascript mới, nên trước khi tiến lên, hãy nhìn vào các đặc tính ngôn ngữ mới gì bạn
có thể sử dụng để viết code tốt hơn.