Hàm không đồng bộ , các chương trình vẫn tiếp tục chạy . Nó không chờ đợi! Bằng cách này, thời gian chờ đợi của người dùng được giảm thiểu. Ngoài ra, bản thân Javascript như một ngôn ngữ lập trình là không đồng bộ.
Ví dụ:nếu trong mã chúng ta đang chạy một yêu cầu đắt tiền, yêu cầu này có thể đòi hỏi nhiều thời gian, thì trong trường hợp một hàm không đồng bộ, thời gian chờ sẽ quá nhiều và người dùng sẽ không có thể thực hiện bất kỳ điều gì khác nữa!
Do đó, nói chung, chúng tôi thích sử dụng mã không đồng bộ hơn khi thực hiện các hoạt động tốn kém và tốn thời gian.
Hãy lấy một ví dụ về hàm Anyncronous trong javascript -
Ví dụ
console.log ('One'); jQuery.get ('page.html', function (data) {console.log ("Two");}); console.log ('Three');Đầu ra
Một, Hai, BaBây giờ, hãy xem vòng lặp sự kiện trong Node là gì.
Vòng lặp sự kiện được tạo bên trong một lịch trình luồng trong đó các hoạt động mà luồng của chúng ta sẽ thực hiện tại bất kỳ thời điểm nhất định nào.
Bất kỳ ứng dụng Node.js nào cũng bao gồm lệnh gọi lại được thực thi để phản ứng với các sự kiện khác nhau như kết nối đến, hoàn thành I / O, hết thời gian chờ, giải pháp Promise, v.v. Chuỗi chính (mà bây giờ chúng ta biết là Vòng lặp sự kiện) thực thi tất cả các lệnh gọi lại này.
Khi các vòng lặp Sự kiện đang chạy, đối với mỗi Node lặp lại sẽ kiểm tra xem nó có đang chờ bất kỳ I / O không đồng bộ hoặc bộ định thời nào hay không. Và nếu không tìm thấy gì, nút sẽ tắt chúng.