Các hoạt động của event loop trong javascript:
Các hàm được đưa vào Call Stack và thực thi lần lượt theo thứ tự.
Khi gặp một tác vụ bất đồng bộ (như setTimeout
, AJAX request), JavaScript chuyển tác vụ đó đến Web APIs để xử lý, và tiếp tục thực thi các hàm khác trong Call Stack.
Khi tác vụ bất đồng bộ hoàn thành, callback của nó được đẩy vào Task Queue.
Event Loop liên tục kiểm tra Call Stack. Nếu Call Stack trống, Event Loop sẽ lấy callback từ Task Queue và đưa vào Call Stack để thực thi.
Nice explain video about event loop:
https://www.youtube.com/watch?v=8aGhZQkoFbQ&feature=youtu.be