01/10/2018, 09:06

Nodejs server chạy code như thế nào?

Chuyện gì đang xảy ra ??
Tại sao code viết sau lại chạy trước ??
Nếu đúng trình tự thì sẽ phải là
check == 1 check = 0
Tại sao nó lại ngược lại ?? Liệu có phải do server runtime nên nó “xoay vòng” cái nào xong trước thì ra trước ??
Bác nào thông hộ e cái

Nguyễn Hoàng viết 11:10 ngày 01/10/2018

học lạ js cơ bản trước khi học nodejs, đây là async code, tức là bất đồng bộ. trong hàm db.runCommand bạn truyền cào hai tham số, tham số thứ nhất là một object, tham số thứ 2 là một function, function này là call back, tức sẽ được thực thi sau, thực thi sau như thế nào thì có chúa mới biết vì nó không trong tầm kiểm soát của bạn. đó là lí do tại sao lại in ra “0” trước, muốn hiểu rõ hơn hãy tìm hiểu các khai niệm của javascript như event loop, call stack, message queue, none-blocking, run to completion, concurency, single thread, top-down, hosting eviroment, js engine, v8,… đó là một số keywork nếu bạn muốn thực sự hiểu cái quái gì đang diễn ra . good luck !!!

Bài liên quan
0