@@operationskunkworks5914 That's a very interesting point: the difference between creating and consuming a promise. Of all the tutorials I've seen on the subject, nobody has talked about that.
@@sazaraki not just interesting, but very fundamental. many tutorials talk about the the syntax difference between callback, promise, and async/await, but neglect the more important question about which part of your code is intended to be async (going to background in parallel) and which part is intended to block
I'm so glad to hear that asynch js is not only for me difficult to learn, because it's just not sinking in, yet. I'm grateful to learn from your videos, you can explain complex things simple.
If you're using the fetch api I recommand checking the value of "response.ok" because code 404 (or whatever code error the pokemon api sends back) is not an error for the fetch api because the server successfully sent back a response.
What I love about your video is that you don't just explain the code based on the syntax, but you give conrete examples in which it can actually be used. This also results in a very natural example for chaining promises (getting json from a response), which makes this super easy to grasp. Thank you very much for making this! Maybe you could take a look at using async await for concurrent callbacks as well?
This seems like a good syntax and concept introduction, what it lacks is actual explanation on how exactly these calls are executed, in what queue, order over time etc.
@@JamesQQuick For me it's OOP. I use instructive or functional programming and shy away from class based oop. Async JS is ok if you watch a few good explanations of the event loop
The best video I have ever seen. You know what , I have found students need to know all the basics and fundamentals in programming, then they will be prepared for digesting more complex concept. the problem is the jump right into hell and it caused them to get burn out and give up. anyway, your video was fabulous.
I also like using async and await, when I first started it was promises then I started working with this developer who told me to always use async and await since then have been hooked if am writing any JS async and await will surely appear
This is the best explanation about the topic. Every other video only post setTimeout example. So i always wondered "what about other scenarios?". Now i understand this concept. Thank you very much.
Recently came across your channel via Twitter, Love ur videos.,It took me 2 yrs to understand callbacks (give and back) but it was worth it, I can now know it is working and how to create HOF.
Hi, I am new to JS but out of all the syntaxes I have learned from traditional to es6 and above, await async seems like easiest one to manage. In terms of updating the code and maintenance, async await is the way to go. It is more concise which makes it less prone to human error … You are a great teacher, the only thing I wasn’t familiar with in your video was the fs read only stuff… I get the gist of it, but I would like to learn more details. If you already made a vid on it I will find it your library. I am one of your newest subscribers. Thanks for the content❤
Important distinction if you're starting out with Promises: promise.then() always returns the original promise for convenience, meaning you can chain .then().then() together as many times as you want. If the callback you pass to .then() returns nothing, the original promise will be resolved with 'undefined'. If the callback you pass to .then() returns a non-promise value, the original promise will be resolved with that new value. If the callback you pass to .then() returns a promise, then that promise will be returned by .then() instead of the original promise, meaning any further .then() or .catch() chains are being attached to that new promise from now on. Edit: For completeness sake, if .then() returns a promise technically that promise's state is used to inform the original's state instead of being returned, but for the sake of simplicity I usually like to think of it as a replacement. There is very few situations in which it matters that it's technically still the original promise object.
When it comes to performance and optimization, try-catch blocks require more resources than simple "if x==null" blocks. It also makes the code more readable if you check for null first, and in this case you exit directly from the method.
`async` `await` is by far the most intuitive. i have struggled with async JS in the past. prolly the hardest part of JS for me too. i wish you wouldve went more in depth on async/await
I just finished a homework that imports inquire object then latches a prompt and a then(). I wanted to learn about async await and am going to use this video to try and rewrite the code (am learning node so may try to write parts of the code into modules as well). Thank you!
Maybe I'm just weird, but I tend to prefer Promises over async await. I personally find it more readable and intuitive, but both of them are much better than regular callbacks :) Great video!
Hey I’m new to JavaScript and I saw the use of async await and later came to know about the legacy callbacks and promises methods which kinda confused me. Your video really helped me understanding the concept well. Thankyou and keep doing the great work!🙌🏻✨
Thank you for this. Helped me to properly understand promises and asynchronous functions …I’ve been able to refactor a bunch methods in my project today too 😂
I like to watch your videos even when I already know the subject. I differ on you on the fact that I use callbacks a lot and I am always worried that by using await I am making my code slower, but the truth is that code readability is for most of the time much more important than a few imperceptible milliseconds here and there.
You explained this so well, even has a noob I was able to follow along and understand. If you could just take all of your knowledge and put it inside of my brain via osmosis, that would be great.
Thanks, I understand Asynchronous JavaScript better after watching your vid for a 2nd time (you go very fast so I didn't get much on the firs watch) 11:43 "it should safely handle this response". What is the point of the error handling in all the examples? Aren't the errors always logged in the console anyway? 12:20 why would you await res.json? what happens if you take the await keyword out in line 78?
Thanks for the good content :), I just have a question, in your opinion what is the benefit to use Async await instead of promises? is it just readability? Thanks again :)
Promises are still a struggle for me. This has helped a ton. Thanks, James!
So glad to hear that. Yes they are very tricky
Just keep repeating using them, after a while you'll find them so easy to grasp.
@@operationskunkworks5914 That's a very interesting point: the difference between creating and consuming a promise. Of all the tutorials I've seen on the subject, nobody has talked about that.
@@sazaraki not just interesting, but very fundamental. many tutorials talk about the the syntax difference between callback, promise, and async/await, but neglect the more important question about which part of your code is intended to be async (going to background in parallel) and which part is intended to block
@@sazaraki I found this video about the difference between consuming and writing a promise th-cam.com/video/RvYYCGs45L4/w-d-xo.html
I'm so glad to hear that asynch js is not only for me difficult to learn, because it's just not sinking in, yet. I'm grateful to learn from your videos, you can explain complex things simple.
its not SYNCING in yet* lmao i'll see myself out- I promise...
@@ramyattalla7168 Lol
you really have to get lost in it a few times before something asynchronously clicks in your head
I am not a native English speaker but ur accent is most suitable for me! Thank you for ur content
Glad to hear that!
Hes got that standard American dialect. Not too Boston not too Texas
@@JamesQQuick y
55ttttttmtattu tattu tattu mm mm mmm mm mmm mm mmm mm mmm mm mmm mm@@JamesQQuickm mmmmmmm mm ttttttt mmmtmmit?mtmtttm
@@JamesQQuick mntmmmmmmmm
My teacher taught us Asynchronous JavaScript at the end of a class in 15 minutes and I got 0% of it. Thank you for this video
Spent 3 hours trying to figure these topics out. This explained it perfectly. Thanks James!
YAYYY! So glad :)
If you're using the fetch api I recommand checking the value of "response.ok" because code 404 (or whatever code error the pokemon api sends back) is not an error for the fetch api because the server successfully sent back a response.
hello sonia. do you have the link to the fetch api?
good suggestion, thank you. I just read about it, it makes sense
If you have this issue and it's a node or react project, try axios
@@paulokehie4792 You can just literally google it
I understood these concepts better in your 10 min video than in many others 20+ min videos. Thank you.
Hey! I watched a lot of videos, read a lot of articles, but only YOU explained these topics in a clear way! thank you!
Yesssss! Glad to hear it :)
What I love about your video is that you don't just explain the code based on the syntax, but you give conrete examples in which it can actually be used.
This also results in a very natural example for chaining promises (getting json from a response), which makes this super easy to grasp.
Thank you very much for making this!
Maybe you could take a look at using async await for concurrent callbacks as well?
I agree, the chaining promises example was top notch, loved it
For the first time, I came across a helpful and well-organized tutorial on Asynchronous. Thank you, James!
Best tutorial on async I have come across. I am 'new' to JS and will jump straight into async/await.
Thaaaaaaaaank you! This is such a beautifully simple explanation of the whole thing, starting from callbacks to async! Please keep on doing great job.
Senior dev here and browsing around. Good clean clear vids.
This seems like a good syntax and concept introduction, what it lacks is actual explanation on how exactly these calls are executed, in what queue, order over time etc.
Asynchronous Javascript was definetly the most challenging topic for me to wrap my head around. Wish I had that explanation when I was learning!
Maybe we can make it easier for the future generations lol
@@JamesQQuick For me it's OOP. I use instructive or functional programming and shy away from class based oop. Async JS is ok if you watch a few good explanations of the event loop
This is one of the best programming tutorials I've seen for quite some time. Awesome 🤓
Srbija do tokija
The best video I have ever seen. You know what , I have found students need to know all the basics and fundamentals in programming, then they will be prepared for digesting more complex concept. the problem is the jump right into hell and it caused them to get burn out and give up. anyway, your video was fabulous.
Wow thank you!
Thank you for the video, This is much much better than the 2h video on youtube about Callbacks, Promises, and Async/Await.
thats how you explain programming.. with examples ... great :)
Best one on Async/Await I've seen so far. Excellent!
I watched 5+ videos on the same topic, didn't understand the idea till I watched yours.
Thank you!!!
Love to hear this!
Man the web has changed so much since I started in '02. It's all so so much better now!
I also like using async and await, when I first started it was promises then I started working with this developer who told me to always use async and await since then have been hooked if am writing any JS async and await will surely appear
You are the best teacher so far me! very easy to understand and very good examples and explanation.
This is the best explanation about the topic. Every other video only post setTimeout example. So i always wondered "what about other scenarios?". Now i understand this concept. Thank you very much.
That's amazing to hear!!
I have to subscribe your content is invaluable. This is like the 5th video I’ve watched from you this week
Recently came across your channel via Twitter, Love ur videos.,It took me 2 yrs to understand callbacks (give and back) but it was worth it, I can now know it is working and how to create HOF.
This was super helpful. All these asynchronous functions are so confusing and this was a great quick guide.
Second most confusing to Neural Nets to me. Thank you so much for the succinct explanation!
Hi,
I am new to JS but out of all the syntaxes I have learned from traditional to es6 and above, await async seems like easiest one to manage. In terms of updating the code and maintenance, async await is the way to go. It is more concise which makes it less prone to human error … You are a great teacher, the only thing I wasn’t familiar with in your video was the fs read only stuff… I get the gist of it, but I would like to learn more details. If you already made a vid on it I will find it your library. I am one of your newest subscribers. Thanks for the content❤
Gold mine for me.
Thanks for making it easy to understand, thanks to all other videos that prepared my understanding to some level too .
I watched a couple of videos but only this one worked for me. Thank you for the amazing explanation.
Important distinction if you're starting out with Promises:
promise.then() always returns the original promise for convenience, meaning you can chain .then().then() together as many times as you want.
If the callback you pass to .then() returns nothing, the original promise will be resolved with 'undefined'.
If the callback you pass to .then() returns a non-promise value, the original promise will be resolved with that new value.
If the callback you pass to .then() returns a promise, then that promise will be returned by .then() instead of the original promise, meaning any further .then() or .catch() chains are being attached to that new promise from now on.
Edit: For completeness sake, if .then() returns a promise technically that promise's state is used to inform the original's state instead of being returned, but for the sake of simplicity I usually like to think of it as a replacement. There is very few situations in which it matters that it's technically still the original promise object.
"always returns the original promise" - no, .then returns a new promise that resolves to the value "return"ed by the function passed to .then
@@jaromanda I am a fool and you are right.
@@arnerademacker not a fool, you've learned something 😆
One of the best clear cut explanation.👍❤️
the best explanation i found. thanks alot, had been struggling with this for a while..
Best video on JavaScript I’ve ever watched ❤
You, sir, are a gentleman and a scholar! Thanks for posting!
Thank you my man. This is going to help me a lot for my interview prep.
Thank you so much for this explanation - I had a lightbulb moment while watching this video and I finally get it - Thank you!
in just few minutes I got inspired! , the way you confidently explain things is super. like you🤩my sub is added already. keep helping us sir
This was a very clear explanation, I finally understand it now after 5 years. Thank you!
I wish to learn require and import next. :)
This helped my all doubts. thanks a ton.
I have been struggling with this concept while learning, This has helped, Thanks James😊
YAS! Love to hear it!
the best explanation of asynchronous abstractions ever. Thank you!
When it comes to performance and optimization, try-catch blocks require more resources than simple "if x==null" blocks.
It also makes the code more readable if you check for null first, and in this case you exit directly from the method.
`async` `await` is by far the most intuitive. i have struggled with async JS in the past. prolly the hardest part of JS for me too. i wish you wouldve went more in depth on async/await
This video finally helped me to understand how async works. Thank you so much!
Fantastic video. Well prepared. Succinct. Everything I could have asked for.
Great video series, as a Pythonist, I'm watching this while painfully debugging a block of Typescript code.
Watched this as a refresher and it went better than I expected! Thank you for this
Arguably the toughest concept of JS, explained so well!
So glad to hear that!!
I just finished a homework that imports inquire object then latches a prompt and a then(). I wanted to learn about async await and am going to use this video to try and rewrite the code (am learning node so may try to write parts of the code into modules as well). Thank you!
What a comprehensive explanation of asyn javascript. Great!
Great summary. Thanks a lot!! The last version is more readable for me too. I will adopt that.
This was so helpful! Thanks James, you demystified this topic for me.
Hi James, this is one of the best concise video I have ever seen on some of the most difficult concepts in JS. Thank you very much for this.
So glad you enjoyed it!
Maybe I'm just weird, but I tend to prefer Promises over async await. I personally find it more readable and intuitive, but both of them are much better than regular callbacks :) Great video!
Nothing wrong with having a preference!
Good video, like the pace as someone who doesnt use JavaScript but knows programming. Its basically just like threads.
After many many many manyyyyyy attempts promises finally became clear.. thanks the video!..:-)..
thank you James for letting me understand better the JS Callbacks and Promises
Async / Await all the way!
Amazing video, very well explained!
Hey I’m new to JavaScript and I saw the use of async await and later came to know about the legacy callbacks and promises methods which kinda confused me.
Your video really helped me understanding the concept well. Thankyou and keep doing the great work!🙌🏻✨
Hey Yash!!
Glad you found the video interesting.....would you be interested in opportunities in web development?
Do you find it harder to write tests for async/await as opposed to mocking promises? Have you've encountered any other testing challenges?
Good job! Thank you from Hungary!
Personal favorite video on the subject. Thank you!
Thank you so much for this video! Finally somebody put them all together!
You explain this so quickly and so easily. Thank you for your videos. Subscribed already!
Information is given in super comprehensible way. Really like tutorials like this🖥
Thank you for this. Helped me to properly understand promises and asynchronous functions …I’ve been able to refactor a bunch methods in my project today too 😂
So glad to hear that!
1M likes for this video. I love the way you implement the code using different approaches. Thanks @James.
I like to watch your videos even when I already know the subject. I differ on you on the fact that I use callbacks a lot and I am always worried that by using await I am making my code slower, but the truth is that code readability is for most of the time much more important than a few imperceptible milliseconds here and there.
Asynchronous behaviour was the hardest to understand for me as well. This is a very good explanation.
So glad it helped!
examples were practical, easy to understand tutorial
This video was phenomenal
Hi! James, thank you for these video. I appreciate you describe with good examples there.
It was difficult to understand but with this video I get it! thanks
You explained this so well, even has a noob I was able to follow along and understand.
If you could just take all of your knowledge and put it inside of my brain via osmosis, that would be great.
Great explanation! Thank you!
very straight forward, thank you!
Loved the video! As a java developer, even I prefer async await way!
Thank you so much. You have no idea what this means to me.
Well described..i will have this as a reference to implement and practice on my projects. Thank you
Excellent Tutorial on Asynchronous Programming in JavaScript. Thanks, James
{2021-07-26}, {2023-01-25}, {2023-06-13}
Thanks this is was simple and comprehensive thank you so much i'm going to love async and await just like you ..
Thank you!!!! I now understand the concept of what you've discussed.
Thanks, I understand Asynchronous JavaScript better after watching your vid for a 2nd time (you go very fast so I didn't get much on the firs watch)
11:43 "it should safely handle this response". What is the point of the error handling in all the examples? Aren't the errors always logged in the console anyway?
12:20 why would you await res.json? what happens if you take the await keyword out in line 78?
This video is so awesome than I named a variable jamesQQuick that is completely & beautifully useless in my project. And I set it to 1.
You are the BEST! Thank you!
Big big thanks to you James! Awesome channel!
I really like your videos James, so keep doing what you're doing. Thanks for your time and effort.⌨🖥💻
Excellent explaination of async await. Thanks
What a vídeo! Well done mate.
Thank you, this video really helped! You did a great job at explaining everything 👍
Thanks for the good content :), I just have a question, in your opinion what is the benefit to use Async await instead of promises? is it just readability?
Thanks again :)
Great video, really helped me undertand asynchronous js.
Thanks a lot, it helped me understand very well though I still have some struggle with promises
Thanks Man, Great Content i can now wrap my head around async await..What vs theme extension are you using?
Great explanation, thanks man!
Which IDE are you using? I love the way the cursor blinks.
Your video helped me a lot