một trong những video training rất chất lượng nhất, khâm phục kiến thức chắc chắn và khả năng diễn đạt gọn gàng của anh, rất mong ra anh "xuất bản" những video tương tự, các design pattern và kiến thức core nâng cao, luồng chạy... như vầy rất đáng xem. thank Anh!
Tuyệt vời, không những lý thuyết mà minh họa cũng như demo quá xuất sắc. Chúc bạn luôn khỏe mạnh để đóng góp những video chất lưọng này cho cộng đồng nhé !
trước khi học lập trình mình từng nghe mọi nguời nói rằng nên học bằng tiếng anh, học bằng video hay tutorial của người nước ngoài để giỏi hơn vì họ biết nhiều hơn nhưng rồi sau khi mình thử học theo cả 2 phương pháp là học từ các tutorial của VN và nước ngoài thì mình nhận ra rằng người VN mình dạy theo kiểu kinh nghiệm thực tế và luôn đưa ra những trường hợp sát với thực tế nhất nên cảm thấy kiến thức rất gần gữi với mọi người còn bên nước ngoài thì họ dạy theo kiểu chuyên sâu, tức là họ sẽ giống như đào sâu thêm về các khái niệm logic của vấn đề chứ không có tính thực tế lắm, tất nhiên các khái niệm đó là cái mà chúng ta sẽ áp dụng vào thực tế nhưng việc rút ra kinh nghiệm từ thực tế còn đáng giá hơn nhiều so với việc biết và áp dụng kiến thức vào thực tế. Tóm lại VN dạy theo kinh nghiệm thực tế - Nước ngoài dạy theo kiến thức cốt lõi chuyên sâu. Cái nào cũng có điểm mạnh nên mọi nguời hãy học một cách thông thái chứ đửng nên so sánh nhé! Cảm ơn anh Dev vui tính vì video rất hữu ích này. have a good day.
th-cam.com/video/8aGhZQkoFbQ/w-d-xo.html&ab_channel=JSConf nước ngoài dạy đây nhé. Ông dev cũng chỉ học theo và dạy thôi nhé, đừng nói là nước ngoài dạy không thực tế, hơn nữa nhiều người nước ngoài còn giảng dạy thú vị và đầu tư tâm huyết vào đó hơn nhiều
@ E mò mẫm thì ra dc cái keyword là thread pool, theo e hiểu thì nó chính là cái queue của video trên, e hiểu v k biết có đúng k ạ ?
4 ปีที่แล้ว
@@chauminh1313 Không nha, thread pool là kiểu 1 cái pattern mà nó sẽ phân chia công việc cho các thread khác nhau. Còn cái queue trên thì nó chỉ là 1 cái lượng công việc đang xếp hàng để được thực thi thôi
vậy thằng fetch khi gọi api thì nó cũng sẽ chạy vô thằng callstack -> webapi -> queue , rồi cuối cùng mới ra lại callstack hả anh hay chỉ có thằng setimteOut mới vào webAPIs ạ
*javascript chỉ có 1 luồng thì tại sao nodeJS có thể xử lý hàng nghìn request cùng lúc được anh? hay là nó xử lý từng request mội, xong cái này rồi mới tới cái kia?*
bản chất cái window.onscroll mà ko dùng setTimeout thì nó vẫn được đưa vào queue bình thường mà đúng ko anh, tại em nhớ nó là 1 events thì cũng bay vào queue ạ. E cảm ơn a
anh cho em hỏi câu này ạ, trong clip anh có nói là callback ở setTimeout được thực hiện ở call stack, thì như vậy theo em hiểu là câu lệnh setTimeout nào có delay time ngắn hơn sẽ được thực hiện trc, nhưng em có thử chạy bằng nodejs đoạn code gồm 2 câu lệnh setTimeout (() => { console.log (1)}, 1000) và setTimeout (() => { fs.readFileSync('noidung.txt'); console.log (2)}, 999.999). Nếu nội dung file noidung.txt lớn 1 chút thì console.log(1) sẽ được thực hiện trc trong lần đầu tiên, những lần sau thì console.log(2) được thực hiện trc. k biết vấn đề này có gây ra vướng mắc trong thực tế k ạ. Em cảm ơn anh
2 ปีที่แล้ว +1
Hmm, thực ra thời gian ngắn hơn, nhưng call sau, thì sự chênh lệch của timeout nó không bằng so với tần số của cpu xử lý, thì nó sẽ kiểu 0.0001ms đó nó lớn hơn cái tick của cpu, thì khi mà cái timeout thứ 2 đi vào thì cái 1 nó đã count đc 1 lúc rồi. Còn lần sau, vì file ko thay đổi, nên code được cached lại, nên khi nó đưa vào cái event list gần như là đồng thời(nhanh hơn cái chênh lệch giữa 2 timeout) thì khi đó nó chạy như e dự kiến. Hmm a nghĩ vậy thôi. Chứ ko chắc nữa, a ít khi gặp th này
cái chỗ callback phút 9:55 cho mình hỏi là nó put callback vào callstack mà lúc này trên video là cái global excution context nó bị remove rồi, thì tại sao biến window vẫn truy cập được nhỉ?, hày là nếu mình truy xuất window trong callback thì thằng js engine nó sẽ giữ lại global context đó
Mình có câu hỏi này, khi thực hiện setTimeout, thì sau khi timer chạy xong thì callback được gọi, mà thằng event loop nó phải check xem callstack nó empty hay chưa, tức là lúc này global excution context nó đã pop off ra khỏi callstack rồi, thì nếu mà trong callback của setTimeout mình có truy xuất tới biến window.hello, và vẫn truy xuất bình thường vậy thì lúc này sẽ ra sao bạn. nếu GEC sẽ bị pop off thật và khởi tạo lại thì những biến trong GEC bị reset luôn rồi, hay là do thằng callback nó còn ref tới biến var hello = 'xxx'; nên GEC sẽ vẫn giữ lại?
2 ปีที่แล้ว
Trong thằng settimeout thì nó tự mặc định this(context) là window, nếu muốn thay đổi con text thì mình sẽ phải bind cái cb đó á
vậy cái mà khi anh đang scroll nó chạy có phải hàm callback của setTimeout k ạ. Nếu phải thì tại sao nó không dừng lại để chạy mà ình còn có thể scroll đcuwocj ạ . Em cảm ơn anh nhiều ạ. Chúc anh sức khỏe nè
Callstack nhận vào scoll + cb. Cb trả về console.log sẽ block các hoạt động khác => chạy song song cb với scoll. Khi ông ngưng scoll thì trong callstack chỉ còn Cb chạy vòng for => sẽ block hết các stack khác ( theo mình hiểu là vậy).
Khi scroll => function được push vào call stack => vì là asynchorous nên webAPIs có setTimeout default khi ở webAPIs là timer(time) callback rồi đẩy cb xuống queue… Lặp đi lặp lại như vậy cho đến khi khi ngưng scroll thì cb được push lên call stack và thực hiện, lúc này log được gen rồi pop, gen rồi pop khiến các action khác bị block, vậy thui
cái microtask với macrotask nó sẽ đưa vào queue như thế nào vậy anh, với lại micro nó có cần qua web apis không anh.
2 ปีที่แล้ว +1
Đến web apis hay ko nó ko có micro hay macro nha e. Cái callback nó mới phân biệt micro và macro. Đưa vào queue là thằng web apis nó đưa vào sau khi nó thực thi xong. Khi ở trong callback queue thì nó mới phân biệt macro và micro. Rồi nó sẽ dựa vào cái event loop để bốc task nào.
@ Huhu, em mông lung quá, em có xem cái video về micro và macro của anh rồi, nhưng mà nó không hình minh họa nên cũng không hiểu lắm, giả sử trong queue có 5 task macro ở trước 1 task micro thì event loop làm sao đưa cái micro này chạy trước đc ạ. nếu có cách gì đó thì trong lúc này 5 cái task macro kia thì mình để nó ở đâu. em có xem 1 số tutorial thì họ bảo có 2 cái queue 1 cái cho microtask (microtask queue) và 1 cái callback queue, và cái callback trong microtask queue sẽ ưu tiên đưa vào call stack trước, thì em xem thấy dễ hiểu hơn nhưng không biết có đúng không. Hôm qua em đi pv thì ngta hỏi câu này, em nói cái khái niệm 2 queue thì họ bảo sai :((((( Anh cứu em với. th-cam.com/video/vhhx2tljbdY/w-d-xo.html
@ Em có xem cái video về micro macro của anh rồi. nhưng mà nó không có hình minh họa nên cũng hơi khó hiểu. VD như giờ mình có 5 cb macro xếp trước 1 cb micro thì làm sao để event loop đưa cái micro chạy trước vậy anh, rồi trong quá trình đưa cái micro lên chạy trước, thì 5 cái macro kia mình để nó ở đâu. Em có xem 1 số tutorial thì họ bảo có 2 queue, 1 queue cho cb của promises (microtask queue) và 1 cái callback queue. thì cb ở trong microtask queue sẽ được ưu tiên chạy trước, và miễn là trong microtask queue còn cb thì cb trong callback queue ko đc execute. Không biết cái này có đúng không. Hôm qua em trả lời pv theo kiểu 2 queue này thì ngta bảo chỉ có 1 queue thôi :(((. Anh cứu em với.
2 ปีที่แล้ว +1
@@atNguyen-sy3il uh nó có 1 cái macro queue chính, bên cạnh đó có thêm cái microtask queue nữa. Có thể cách em diễn đạt nó không đúng ý họ hay sao đó.
for (var i=0; i console.log(i),0); } bạn ơi, bạn có thể giúp mình 1 lần này thôi, mình ko diễn tả được là var và let trong này thì khi đưa vào webapi, thì cái i trong webAPI sẽ là giá trị hay vẫn là i,
Anh cho em hỏi mấy câu ạ ? - Cách thức hoạt động của Event Loop trong môi trường Browser và Node.js có khác nhau không ạ ? - Em vừa xem 1 video của một anh Dev làm core team của Node.js th-cam.com/video/PNa9OMajw9w/w-d-xo.html đoạn đầu (1:10) anh ấy có nói rằng 95% những mô tả về vòng lặp sự kiện trên internet đều sai làm em khá hoang mang :v, mong anh giải thích thêm.
4 ปีที่แล้ว
Minh Hiệp Lê nó như nhau nha, chỉ có điều việc handle mấy cái event bằng 2 th khác nhau, trên browser thì là web apis(do browser cung cấp) còn node thì nó là 1 module trong node. Còn về việc video này có đúng hay không thì đây là kiến thức của mình sau thời gian làm việc với node có được, nếu bạn cảm thấy không an toàn thì nên bỏ qua, và xem video của anh Dev kia, mình thoải mái mà :D
một trong những video training rất chất lượng nhất, khâm phục kiến thức chắc chắn và khả năng diễn đạt gọn gàng của anh, rất mong ra anh "xuất bản" những video tương tự, các design pattern và kiến thức core nâng cao, luồng chạy... như vầy rất đáng xem. thank Anh!
Hồi trước hay ước có kênh nào dạy kiến thức kiểu này, bây giờ mới cơ duyên gặp được.
Cảm ơn ông a nhiều.
Kiến thức bạn chia sẻ rất hay. Cám ơn bạn.
tuyệt vời, em đọc tài liệu hoa hết cả mắt vô đây nghe tí hiểu liền :>>>
Coi video của Phillip hơi ngấm rồi coi của anh nữa thấm nhuần kiến thức lun :3 Hay quá trời
Hôm trước mình đi pv gặp đúng câu này, hỏi "Event Loop là gì". Hôm đấy đứng hình =))). Cảm ơn bạn đã giải thích rất rõ ràng
Video thật bổ ích, khả năng kiến thức nền vững vcđ :V diễn đạt khá hay và rất Đà Nẵng
Anh Dev truyền đạt dễ hiểu thật :)))
Anh vừa làm IT vừa đá chân sang mảng TH-cam rất hợp luôn.
Những video như này hay lắm a ạ. Mong a ra những video ntn. Cảm ơn a nhiều
Hay và rất dễ hiểu nha anh. Cám ơn anh đã chia sẽ kiến thức.
video rất chất lượng ạ
Tuyệt vời, không những lý thuyết mà minh họa cũng như demo quá xuất sắc. Chúc bạn luôn khỏe mạnh để đóng góp những video chất lưọng này cho cộng đồng nhé !
cảm ơn ông Dev nhiều. Rất hay và cô đọng ạ !
Anh giảng siêu dễ hiểu luôn trời ơiiiiiii em mãi mà không hiểu nổi được phần này cho tới khi gặp được anh ạ :((((((( huhuhu cảm ơn anh nhiều ạ :((((((
Video rất hay. Cảm ơn anh vì những kiến thức đã chia sẻ.
Hay !!!! rất dễ hiểu, luôn thích kiểu học có demo hình ảnh như thế này :))
Video tuyệt vời lắm ạ
Cảm ơn a ạ , video của a rất dễ hiểu ạ
Rất bổ ích. cảm đã đóng góp cho cộng đồng
Quá dễ hiểu, quá hay. Ra nhiều hơn clip JavaScript đi a. 😁👍
video hay lắm a ơi
Bài chia sẻ hay và chi tiết. Cảm ơn anh nhiều.
Cám ơn anh đã chia sẻ kiến thức, rất tường tận và dễ hiểu
Anh chia sẻ phần nào cũng rất dễ hiểu. Cứu cánh em mấy lần. Cảm ơn a ạ
Quá hay ạ
Cảm ơn anh vì đã chia sẻ những kiến thức rất giá trị
trước khi học lập trình mình từng nghe mọi nguời nói rằng nên học bằng tiếng anh, học bằng video hay tutorial của người nước ngoài để giỏi hơn vì họ biết nhiều hơn nhưng rồi sau khi mình thử học theo cả 2 phương pháp là học từ các tutorial của VN và nước ngoài thì mình nhận ra rằng người VN mình dạy theo kiểu kinh nghiệm thực tế và luôn đưa ra những trường hợp sát với thực tế nhất nên cảm thấy kiến thức rất gần gữi với mọi người còn bên nước ngoài thì họ dạy theo kiểu chuyên sâu, tức là họ sẽ giống như đào sâu thêm về các khái niệm logic của vấn đề chứ không có tính thực tế lắm, tất nhiên các khái niệm đó là cái mà chúng ta sẽ áp dụng vào thực tế nhưng việc rút ra kinh nghiệm từ thực tế còn đáng giá hơn nhiều so với việc biết và áp dụng kiến thức vào thực tế. Tóm lại VN dạy theo kinh nghiệm thực tế - Nước ngoài dạy theo kiến thức cốt lõi chuyên sâu. Cái nào cũng có điểm mạnh nên mọi nguời hãy học một cách thông thái chứ đửng nên so sánh nhé! Cảm ơn anh Dev vui tính vì video rất hữu ích này. have a good day.
th-cam.com/video/8aGhZQkoFbQ/w-d-xo.html&ab_channel=JSConf nước ngoài dạy đây nhé. Ông dev cũng chỉ học theo và dạy thôi nhé, đừng nói là nước ngoài dạy không thực tế, hơn nữa nhiều người nước ngoài còn giảng dạy thú vị và đầu tư tâm huyết vào đó hơn nhiều
Hay quá!
anh lý giải rất sâu và chi tiết! thank anh
Xem lại sau 1 năm vẫn thấy hay
Đúng là idol của t, cám ơn anh
Trong cái queue nó còn phân chia ra micro task queue và macro task queue nữa, ưu tiên micro task queue :D
Uh, ví dụ như Promise sẽ được ưu tiên hơn setTimeOut
8:30 - Event loop
Hay quá a ạ
dễ hiểu quá, tks a nhìu
Thank you sir
quá hay
cảm ơn a hay thật
Cảm ơn anh!
hay qá
😀
:/ mấy kênh như này hay nhưng mà sợ một thời gian thì drop mất, hy vọng a ko drop =))
Làm để chửi những Vozer hỏi YTB Vn sao ko có Technical :) xem nặng thật sự dù nó là video mang tính học tập cực cao kkk
Hay vãi c anh ạ !!!!!!!!!!
hay a
Em đang bắt đầu học JS và rất thích những video của anh. Anh cho em hỏi anh xài theme vs code gì vậy ạ?
e nghĩ là cái này nâng cao nhưng devjs ai cũng nên hiểu nhỉ, vì coi xong bản thân thấy hiểu hơn về luồng chạy của thg js @@, tks a vì video bổ ích
Đúng rồi e, cái này dev js ai cũng nên biết
@ E mò mẫm thì ra dc cái keyword là thread pool, theo e hiểu thì nó chính là cái queue của video trên, e hiểu v k biết có đúng k ạ ?
@@chauminh1313 Không nha, thread pool là kiểu 1 cái pattern mà nó sẽ phân chia công việc cho các thread khác nhau. Còn cái queue trên thì nó chỉ là 1 cái lượng công việc đang xếp hàng để được thực thi thôi
:( ra thêm video đi anhh
vậy thằng fetch khi gọi api thì nó cũng sẽ chạy vô thằng callstack -> webapi -> queue , rồi cuối cùng mới ra lại callstack hả anh hay chỉ có thằng setimteOut mới vào webAPIs ạ
Đúng r e
*javascript chỉ có 1 luồng thì tại sao nodeJS có thể xử lý hàng nghìn request cùng lúc được anh? hay là nó xử lý từng request mội, xong cái này rồi mới tới cái kia?*
I luv u :3
may quá em đang học nodejs mà ko hiểu phần này
bản chất cái window.onscroll mà ko dùng setTimeout thì nó vẫn được đưa vào queue bình thường mà đúng ko anh, tại em nhớ nó là 1 events thì cũng bay vào queue ạ. E cảm ơn a
Đúng r e.
anh cho em hỏi câu này ạ, trong clip anh có nói là callback ở setTimeout được thực hiện ở call stack, thì như vậy theo em hiểu là câu lệnh setTimeout nào có delay time ngắn hơn sẽ được thực hiện trc, nhưng em có thử chạy bằng nodejs đoạn code gồm 2 câu lệnh
setTimeout (() => { console.log (1)}, 1000)
và
setTimeout (() => { fs.readFileSync('noidung.txt'); console.log (2)}, 999.999).
Nếu nội dung file noidung.txt lớn 1 chút thì console.log(1) sẽ được thực hiện trc trong lần đầu tiên, những lần sau thì console.log(2) được thực hiện trc. k biết vấn đề này có gây ra vướng mắc trong thực tế k ạ. Em cảm ơn anh
Hmm, thực ra thời gian ngắn hơn, nhưng call sau, thì sự chênh lệch của timeout nó không bằng so với tần số của cpu xử lý, thì nó sẽ kiểu 0.0001ms đó nó lớn hơn cái tick của cpu, thì khi mà cái timeout thứ 2 đi vào thì cái 1 nó đã count đc 1 lúc rồi. Còn lần sau, vì file ko thay đổi, nên code được cached lại, nên khi nó đưa vào cái event list gần như là đồng thời(nhanh hơn cái chênh lệch giữa 2 timeout) thì khi đó nó chạy như e dự kiến. Hmm a nghĩ vậy thôi. Chứ ko chắc nữa, a ít khi gặp th này
Em thử đưa cái 999.999 lên trước xem
@ em cảm ơn anh, em hiểu rồi ạ
@Ông dev cho hỏi Phần timer deplay của settimeOut nó xảy ra ở đâu và khi nào vậy a? Ở WebAPis hay ở queue a
Webapi nha e
Này học ở đâu vậy a e muốn học sâu về js
cái chỗ callback phút 9:55 cho mình hỏi là nó put callback vào callstack mà lúc này trên video là cái global excution context nó bị remove rồi, thì tại sao biến window vẫn truy cập được nhỉ?, hày là nếu mình truy xuất window trong callback thì thằng js engine nó sẽ giữ lại global context đó
Mình có câu hỏi này, khi thực hiện setTimeout, thì sau khi timer chạy xong thì callback được gọi, mà thằng event loop nó phải check xem callstack nó empty hay chưa, tức là lúc này global excution context nó đã pop off ra khỏi callstack rồi, thì nếu mà trong callback của setTimeout mình có truy xuất tới biến window.hello, và vẫn truy xuất bình thường vậy thì lúc này sẽ ra sao bạn. nếu GEC sẽ bị pop off thật và khởi tạo lại thì những biến trong GEC bị reset luôn rồi, hay là do thằng callback nó còn ref tới biến var hello = 'xxx'; nên GEC sẽ vẫn giữ lại?
Trong thằng settimeout thì nó tự mặc định this(context) là window, nếu muốn thay đổi con text thì mình sẽ phải bind cái cb đó á
@ tức là GEC sẽ vẫn được giữ lại ? hoặc bạn có link thông tin về chỗ này thì gửi mình với
Uh, đó là theo cách mình hiểu, mới search ra cái này, bạn tham khảo thử: www.javascripttutorial.net/javascript-execution-context/
cho em hỏi với ạ Nếu anh đang scroll setTimeout bằng 0 thì trong khi anh scrool thì console nó vẫn chạy song song v ạ
Đúng r, nhưng ngay khi em dừng scroll lại thì nó sẽ lôi callback của set timeout ra chạy
vậy cái mà khi anh đang scroll nó chạy có phải hàm callback của setTimeout k ạ. Nếu phải thì tại sao nó không dừng lại để chạy mà ình còn có thể scroll đcuwocj ạ . Em cảm ơn anh nhiều ạ. Chúc anh sức khỏe nè
Callstack nhận vào scoll + cb. Cb trả về console.log sẽ block các hoạt động khác => chạy song song cb với scoll. Khi ông ngưng scoll thì trong callstack chỉ còn Cb chạy vòng for => sẽ block hết các stack khác ( theo mình hiểu là vậy).
Chung thắc mắc, không biết anh đã giải được cái này chưa cho em xin đáp án với ạ
Khi scroll => function được push vào call stack => vì là asynchorous nên webAPIs có setTimeout default khi ở webAPIs là timer(time) callback rồi đẩy cb xuống queue… Lặp đi lặp lại như vậy cho đến khi khi ngưng scroll thì cb được push lên call stack và thực hiện, lúc này log được gen rồi pop, gen rồi pop khiến các action khác bị block, vậy thui
nghe giọng anh giống như xứ Quảng vậy a?
A quê gốc QN mà, lớn lên ở Đà Nẵng haha
@ e ở Đại Lộc đây =)). Mới đầu e nghe giọng anh thấy đã thấy nghi nghi rồi =))
cái microtask với macrotask nó sẽ đưa vào queue như thế nào vậy anh, với lại micro nó có cần qua web apis không anh.
Đến web apis hay ko nó ko có micro hay macro nha e. Cái callback nó mới phân biệt micro và macro. Đưa vào queue là thằng web apis nó đưa vào sau khi nó thực thi xong.
Khi ở trong callback queue thì nó mới phân biệt macro và micro. Rồi nó sẽ dựa vào cái event loop để bốc task nào.
@ Huhu, em mông lung quá, em có xem cái video về micro và macro của anh rồi, nhưng mà nó không hình minh họa nên cũng không hiểu lắm, giả sử trong queue có 5 task macro ở trước 1 task micro thì event loop làm sao đưa cái micro này chạy trước đc ạ. nếu có cách gì đó thì trong lúc này 5 cái task macro kia thì mình để nó ở đâu. em có xem 1 số tutorial thì họ bảo có 2 cái queue 1 cái cho microtask (microtask queue) và 1 cái callback queue, và cái callback trong microtask queue sẽ ưu tiên đưa vào call stack trước, thì em xem thấy dễ hiểu hơn nhưng không biết có đúng không. Hôm qua em đi pv thì ngta hỏi câu này, em nói cái khái niệm 2 queue thì họ bảo sai :((((( Anh cứu em với. th-cam.com/video/vhhx2tljbdY/w-d-xo.html
@ Em có xem cái video về micro macro của anh rồi. nhưng mà nó không có hình minh họa nên cũng hơi khó hiểu. VD như giờ mình có 5 cb macro xếp trước 1 cb micro thì làm sao để event loop đưa cái micro chạy trước vậy anh, rồi trong quá trình đưa cái micro lên chạy trước, thì 5 cái macro kia mình để nó ở đâu. Em có xem 1 số tutorial thì họ bảo có 2 queue, 1 queue cho cb của promises (microtask queue) và 1 cái callback queue. thì cb ở trong microtask queue sẽ được ưu tiên chạy trước, và miễn là trong microtask queue còn cb thì cb trong callback queue ko đc execute. Không biết cái này có đúng không. Hôm qua em trả lời pv theo kiểu 2 queue này thì ngta bảo chỉ có 1 queue thôi :(((. Anh cứu em với.
@@atNguyen-sy3il uh nó có 1 cái macro queue chính, bên cạnh đó có thêm cái microtask queue nữa. Có thể cách em diễn đạt nó không đúng ý họ hay sao đó.
@@atNguyen-sy3il javascript.info/event-loop
for (var i=0; i console.log(i),0);
} bạn ơi, bạn có thể giúp mình 1 lần này thôi, mình ko diễn tả được là var và let trong này thì khi đưa vào webapi, thì cái i trong webAPI sẽ là giá trị hay vẫn là i,
Không phải là WEBAPI, mà đây là về hoisting, bạn nên nắm thêm khái niệm về nó, tại sao khi sài var trong for lại log ra max I
e cảm ơn, đúng lúc e không hiểu :(
Rất vui vì giúp được em, còn gì ko hiểu thì cứ comment, a sẽ xem xét ra video để giúp :D
Anh cho em hỏi mấy câu ạ ?
- Cách thức hoạt động của Event Loop trong môi trường Browser và Node.js có khác nhau không ạ ?
- Em vừa xem 1 video của một anh Dev làm core team của Node.js
th-cam.com/video/PNa9OMajw9w/w-d-xo.html
đoạn đầu (1:10) anh ấy có nói rằng 95% những mô tả về vòng lặp sự kiện trên internet đều sai làm em khá hoang mang :v, mong anh giải thích thêm.
Minh Hiệp Lê nó như nhau nha, chỉ có điều việc handle mấy cái event bằng 2 th khác nhau, trên browser thì là web apis(do browser cung cấp) còn node thì nó là 1 module trong node.
Còn về việc video này có đúng hay không thì đây là kiến thức của mình sau thời gian làm việc với node có được, nếu bạn cảm thấy không an toàn thì nên bỏ qua, và xem video của anh Dev kia, mình thoải mái mà :D
ông này nói chuyện kiểu nghênh nghênh v nhỉ