Nice explanation, but just to add even if you put setTimeOut 0ms it will still excecute last after all synchronus code is done and stack is empty. Thats because async funtions appear on the stack at call time and are immediately pushed off and added to webapis stack where count down begins and since its 0 so the callback of setTimeout gets immediately it gets pushed to task queue ( not call stack ), where spinning event loop is gonna pop this callback function on the main stack once its empty. So even if you have 5 set time outs with 0 ms and 1 console log at the end set timeouts gonna run after console.log because as i mentioned above async functions are pushed back on stack only after main stack is empty
"Not every single function that takes an argument is asynchronous, but in general, most function that takes function argument are going to be asynchronous" Thank you, this line clears things for me. Much appreciated
100% crystal clear explanation. I was looking at videos that are lengthy, I could not get my head around them. Really liked the way you explained async with then example. Thanks tons.
seems that, if you get things confused, you can replace synchronous with the word "sequential"execution ... and asynchronous with "parallel" execution. Which type blocks will also become clear as well.
you are the best youtube web dev creator. Love the show. My tip is that instead of having to type console.log() each time. Just type log and vscode will auto complete the code for you. THanks for the video
I searched and searched, nothing helped me...and on top of that, those things made me confused :(, but you just made it soo easy for me!!!! Thank you! subbed!
Thanks alot. I have learned promises callbacks and async await but still I was confused between async and sync terms. Your example completely cleared all concepts async JS.
Keep it simple and objective just as you are. You clarify the web dev in a way its much easier to learn. For a non native english speaker, your chanel is one of my favorite learning resource. Thank you very much and my best reggards from Brazil. (:
Hey Kail. At 6:33, I think what you were trying to say was: Every asynchronous function takes a function argument, but not every function that does so is asynchronous. You actually said the second part in two ways. Can you please tell us more about promise and fetch functions: I really did not get it with this video. Thanks !
A promise operates in an async manner by default thereby it wait till all the data is fetched in the .then function.... Its similar to using async and await in a fetch method (typical synthetic sugar)
Isnt 06:00 supposed to print a value to be 1 since it is inside a closure function which is stored at the memory with the value of (a) which was 1 at the time the execution saw the closure function and stored it in memory ?
Asynchronous code won't execute until the call stack is empty. So you you set a setTimeout function to run with 1ms but then called a function that did a lot of work, the code inside the setTimeout function won't run until the other function was popped off the call stack even though more than 1ms would have already passed. Technically JavaScript is a synchronous language with only 1 thread but it has some clever ways of emulating multi-threaded programming.
Describing Javascript execution as multi-threaded (as at 1:15) is a bad idea and teaches the wrong mental model. Look up concepts like run to completion, event loop, call stack to understand what's going on better. For example, in the setTimeout call, even if you put the delay to 0 instead of 100 it will still print 10. If you understand the concepts I mentioned you will know why.
I love that you are straight to the point with a clear and short explanation. It makes things a lot easier. Appreciated! 🤩
u just want him to blow your back out
Yes😀
Nice explanation, but just to add even if you put setTimeOut 0ms it will still excecute last after all synchronus code is done and stack is empty. Thats because async funtions appear on the stack at call time and are immediately pushed off and added to webapis stack where count down begins and since its 0 so the callback of setTimeout gets immediately it gets pushed to task queue ( not call stack ), where spinning event loop is gonna pop this callback function on the main stack once its empty. So even if you have 5 set time outs with 0 ms and 1 console log at the end set timeouts gonna run after console.log because as i mentioned above async functions are pushed back on stack only after main stack is empty
lucid explanation, thanks man
"Not every single function that takes an argument is asynchronous, but in general, most function that takes function argument are going to be asynchronous"
Thank you, this line clears things for me. Much appreciated
100% crystal clear explanation. I was looking at videos that are lengthy, I could not get my head around them. Really liked the way you explained async with then example. Thanks tons.
seems that, if you get things confused, you can replace synchronous with the word "sequential"execution ... and asynchronous with "parallel" execution. Which type blocks will also become clear as well.
My good sir, that's such a great way to summarize it
@@GerardBeaubrun Not quite. JavaScript isn't parallel as it is runs as a single threaded process. For asynchronous functions is uses an event loop.
@@datboijdope exactly
@@datboijdope smart man
Wow, as someone who feels more intermediate than total beginner, I felt that you really validated my learning curve. Thank you!
Always a great resource for me, short and full of relevant info. Plus I like the clicky keyboard sounds. Awesome video, yet again! Thanks, Kyle!
I totally agree. Especially the clicky keyboard part!
every single video from your channel clears so many concepts in my head, i cant even start to tell you..thank you so much from the core of my heart
you are the best youtube web dev creator. Love the show. My tip is that instead of having to type console.log() each time. Just type log and vscode will auto complete the code for you. THanks for the video
I am a big big fan of your short & crisp concept clearing videos 🧡🧡🧡
the best explaination of the async feature in js ever
Short and helpful, thank you very much! =]
You're welcome!
I searched and searched, nothing helped me...and on top of that, those things made me confused :(, but you just made it soo easy for me!!!! Thank you! subbed!
Thanks alot. I have learned promises callbacks and async await but still I was confused between async and sync terms. Your example completely cleared all concepts async JS.
Your videos are straight to the point and that just amazing. Thank you for making them.
Keep it simple and objective just as you are. You clarify the web dev in a way its much easier to learn. For a non native english speaker, your chanel is one of my favorite learning resource. Thank you very much and my best reggards from Brazil. (:
Thank you for getting to the point, and explaining this concept in clearest possible terms.
Simple , Short , Concise. Thank You.
Spot On. The way you explained everything so easily. it is appreciable.
Short, clear video on Async Programming. Thanks.
{2021-07-20}
It took me watching 4 videos until I found this one. It was perfect!
You have explained the concept so well! Thank you : )
I love your keyboard sound whenever you typed which makes me motivated.
Such a simple and effective way to explain this. 🤙🏻🖤
The best in explaining stuff.......big ups man
Wow very straight to the point.... Awesome! Double thumbs up
Love all of your videos! You make everything so easy to understand! Thank you!!
Thank You sir , You have cleared the doubts that were blowing my head ❤
thank you brother!! very well explained!! keep it coming!!
Whaaat, didnot know of this before your video. Thank you very much for sharing this
Explained wonderfully 🙏
Dude, you just gave the best start to learn more about Async Programming.
btw, whats your VS code theme, font, setup...
Love your newsletter
Thank you!
Killer explanation, you made some stuff clearer for me in no time.
Wooooow I couldn’t understand the difference between synchronous and asynchronous code until a I watched his video thank you!
pretty clear and straightforward explanation ..... Thanks !!
This is how good teachers teach. Thanks a lot
Thanks, your clear explanation helped me understand this concept better. :)
Thank you it's really helpful for me.
You're welcome!
Very straightforward I wonder why they're not just teaching like that in schools
Thanks sir. It was really simple explanation!
very clear explanation, good examples
thank you man 👌👌👌
Very good explanation of the concept.
Very straightforward explanation thank you and godbless you.
Thank you ! Learned a lot in just 7 minutes !
Thank you so much, This tutorial helped me a lot to get the concept clear.
Awesome! Thanks for this video.. You have explained the concepts very well
Thank you, Kyle!
Nice explanation. Simple and clear!!
Well explained! Best I have seen.
Thanks, The first video that helped me!
Brilliantly explained!
Alas! I found one great example of what Async really is.
thanks for the video Kyle
THANK YOU!! FINALLY SOMEONE
Helpful and very very clear
This was very helpful Kyle, thank you!
Thanks a lot, I really tapped into the concept
Very well explained
excellent video mate! Really helpful!
great explanation. thanks!!
Thank you. Good video, very clear.
Awesome explanation!!!!
Thank You So Much Brother.......🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻
Thank you for the explanation
Very good explanation
Thank you man ! That was very helpful
Thanks for the video, i can get more understanding about async js 👍
thanks, bro you have clear this concept abut sync and async with nice example
I'm glad I could help
Very good explaination
Thank you very much it was concise and helpful
Hey Kail. At 6:33, I think what you were trying to say was: Every asynchronous function takes a function argument, but not every function that does so is asynchronous.
You actually said the second part in two ways.
Can you please tell us more about promise and fetch functions: I really did not get it with this video. Thanks !
A promise operates in an async manner by default thereby it wait till all the data is fetched in the .then function....
Its similar to using async and await in a fetch method (typical synthetic sugar)
Thank you i love the way you explain things .
Thank you so much, this was helpful
great explanation thanks!
Thank you ive been confused
Great video man! You helped a lot.
clear and concise
thank you for this great explanation
So why does
let res = await fetch()
console.log(“a”)
console.log(res)
Result in synchronous blocking code?
Thanks I got a clear understanding about asynchronous programing :-)
I’ve noticed a guitar in the background in your videos. Did you make the intro riff :P
Isnt 06:00 supposed to print a value to be 1 since it is inside a closure function which is stored at the memory with the value of (a) which was 1 at the time the execution saw the closure function and stored it in memory ?
well explained👍👍
Short and sweet!💯
Asynchronous code won't execute until the call stack is empty. So you you set a setTimeout function to run with 1ms but then called a function that did a lot of work, the code inside the setTimeout function won't run until the other function was popped off the call stack even though more than 1ms would have already passed. Technically JavaScript is a synchronous language with only 1 thread but it has some clever ways of emulating multi-threaded programming.
Even if you make it 0ms what you said is true
nicely done, thank you!
very good explanation
Thank you! This makes a lot of sense
Great video, great concepts!
Thanks! I'm glad you enjoyed it.
thanks for the concept you know to explain thanks.
Your videos are so ... I am lost the words wonderful.
awesome explanation
Describing Javascript execution as multi-threaded (as at 1:15) is a bad idea and teaches the wrong mental model. Look up concepts like run to completion, event loop, call stack to understand what's going on better. For example, in the setTimeout call, even if you put the delay to 0 instead of 100 it will still print 10. If you understand the concepts I mentioned you will know why.
Thanks for a great video.
Great explanetion, thanks.
Wow! Thanks 💙
You gained a sub
So clear thank u
thanks man i was always confused about that
No problem. I'm glad I could help.
Thank you very much :)