You make some of the most clear, well planned, well organized tutorials on JS on all of RUclips. Truly one of the most underrated JS tutorial channels. I've received so much benefit from your videos over the past few weeks that I can't not say thanks in some way.
There's a lot of people teaching on RUclips but not everyone knows how to teach. You are one of the people who know how to teach. Thank you for this tutorial
This is a criminally underrated tutorial. The way all of this is explained is so good! I've taken so much out of this video and I'll be revisiting individual sections for reference down the line. Thank you so much, Dave!
I've watched about 4-5 different videos on promises and sync/await, but this one really tied it all together for me and helped me understand these concepts. I like how you go in depth about the little things (etc. explaining how the parameters put into functions don't have to have the same name as the actual parameter that you're going to insert when calling the function). That makes your videos easy to follow by even absolute beginners. Don't change your teaching style! Keep it up!
I have watched so many videos and never understood these topics the way you explain it. Now I completely understand how all these works. It is still so much worth Tutorials. ThankYou so much, Dave.
This tutorial series has been changed my software life, ı have couldn't understand from other javascript teacher's, until I find you, Thank you so much Dave :)
another top class video mate, well done. I like two things about your videos: 1) The way your videos are so clearly explained. 2) The fact you go a little deeper into most topics than the other RUclipsrs out there.
I've seen a lot of tutorials about promises and async/await. But this one is probably the best one i've ever seen so far, because you used examples with actual data instead of using setTimeout, since this is what we future programmers will see in the wild. Thank you for the video, Dave! Greetings from Brazil.
Late to the party but I've watched a lot of people explain promises and async/await and this is the first one that took the time to explain some of the common pitfalls when working asynchronously. You've got my follow!
Finally understand async/await. Every tutorial on YT just shows how to console log everything. This was very helpful to see how to actually DO SOMETHING with the stuff we get back.
Just wanted to say thank you for posting this tutorial. I'd been stuck on understanding promises and the whole sync/asynchronous concept for around 4 months. This had been a major roadblock for me in learning node for backend, so this has really helped a lot. I'm still not 100% clear, but this vid has really helped me progress my understanding. Thanks again.
wow, simply mind blowing dave, you're amazing the video is 2 years old so only the aesthetics(colorscheme, font, etc) differ compared to today but the quality content is still the same also, another thing popped while watching the video was you explained the then and catch methods for resolve and reject but in async await you can catch resolve and reject using try catch block I had no idea about the Accept header type and never seen text/plain type either, thank you once again dave :)
Brilliant Dave - a lot of of tutorials only explain what works, but never what doesn't work and why. You offered such a comprehensive understanding of the principles of promises and async/await, and when and where to use them. Thank you immensely!
awesome video. the section on promises... thank you! i finally get it! ive watched several videos on the topic, but still just didn't quite have the right mental model! but the way you constructed the promise with resolve and reject, THAT made it click for me!!!! thanks again!!! very well done!
I don't usually hit like in 99% of the videos I watch... You totally deserve to be on my 1%. Subscribed to the channel AND all your videos are getting a like. Thank you very much! Now to the 8h js video to learn what i missed since DHTML was a thing 😂😂😂
Im watching other videos over and over but i understand only your explanations :) , well maybe others helped a little bit too, but only with your channel i understand truly, thank you
A lot of information today. It branches out into many other subjects: - APIs, the importance of reading documentation, and of course the backend, etc... Thank you again Dave for all your work, so that we may learn. Until the next one.
Dude...once again you come through on crushing the course I bought on Udemy....I'm finishing it because I started it (As the words of Van Halen taught us) but the wrong course/instructor can make you wonder if you can hack it and make that big switch. Then I come to your videos to understand the concepts better, feel much better and get my confidence back. It's nothing against them...they're very knowledgeable but some know how to convey it better. Lets just say I know who's getting my money next time. Thanks man.
Awesome tutorial! The explanations were very clear and the examples were incredibly helpful in understanding the concepts. Thank you so much for sharing your expertise, Dave! 💛
Great tutorial Dave ! Hope you can teach us some JS frameworks or some back-end with node in the near future. Anyway, thanks to deliver your knowlegde to the world and stay safe.
Learnt a lot of things from your tutorials Dave ✨. You're a magnificent teacher. A teacher I always wished but never had. You make things so clear and easy to understand without compromising the quality and minute details. Keep up the great work Man! We need more people like you. Have a great day Dave.
I already subscribed you and also share this video to my friends. you're the best teacher. Thanks so much... Clearly explained. thanks and thanks and thanks... < 3
Thank you for another video Dave! Honestly this is much more complicated for me compared to all the previous lessons.. I have a feeling that I've missed some previous lessons and that's why I can't understand completely what's going on, but in fact I was following all the previous lessons. I might need to read more about thiese subjects and rewatch the video.
You're welcome, Grigory! Yes, this topic is complex. We are working with outside data sources that we request data from. We need to await that data in our application before we can do something with it. May be a good one to review twice. 🚀 Keep up the good work!
@@DaveGrayTeachesCode thanks a lot for your support! Surely I will watch it again (and most likely more than 1 time). I understood the first part of the video, but then at some point I just got lost and untill the end it was all just clear as mud :) (as you said in the video).
Awesome explanation Dave, just one small thing, it would be nice if you also show us how you search for the api documentation and all, so that the beginners would know how to do it.
Good question. I had to go back and look as it has been months since I made the tutorial. At the 35:09 reference point, I'm not sure what you would want to attempt to chain? The higher order function map() will return a new array with the new values. I say give it a shot and watch the console to see if it works out for you! 🚀💯
Amazing tutorial, Dave! You explained the topic very thoroughly. The pace was also very easy to follow, and the practical examples and insights into workflow really bring it all together. 10 / 10, Thank you!
All code examples (after they are completed) 39:56 Retrieving user data 45:57 Retrieving dad jokes 49:42 Posting data 54:46 Retrieving data with URL parameters 1:04:00 Abstract it all into single responsibility functions
Can anyone explain why we are able to call the PostToWebPage function in the getAllUserEmails function before declaring it on line 18 at min 39:32? Is this an example of hoisting? Sorry if this is a beginner question, I'm just starting out. Thank you, Dave, for this excellent tutorial. Your calm demeanor makes this material a pleasure to listen to.
You're welcome! postToWebPage is called inside the getAllUserEmails function. The getAllUserEmails function is not called until the bottom. Arrow functions (anonymous functions) are not hoisted. Good questions!
Thank you Dave, in 35:50 I wonder why we have to const jsonData = await response.json(); but dont have to "await" for the next function like this: const userEmailArray = await jsonData.map(user => { return user.email; }); I thought we had to await for jsonData before map out user email?
No need to await the map function. We already have the jsonData. Map is a higher order function that maps over an array and returns a new array. The line above that calls the json() method on the response returns a promise that must await to resolve. I hope that helps! 😀
You're welcome! I suggest practicing making some of your own requests to the APIs shown in the last half of this tutorial as well as some other public APIs.
@@DaveGrayTeachesCode How can one approach any website out there to read information and once it arrived - to work with it indipendetly? ...Beside the fact that it seems that each request to reach other websites is responded by error messages (mostly about... CORS?) So... while those tools in the video works with both sites, And the principles themselves are crucial to get familiar with - I haven't been equipped yet with the knowledge of how to execute and handle with a parsing from websites... Do following lessons include this topic?
Thank you so much Dave.. crystal clear explanation for beginners on Asynchronous topic. Is there any chance for angular tutorial just want to learn from your tutorial ❤️
The json() method is async which works well with requests using fetch - which are also async. JSON.parse is synchronous. In simple terms, it is not going to wait for a response. Here is a reference: teamtreehouse.com/community/what-is-the-difference-between-json-and-jsonparse
Hello Dave, #54:12 in timeline When you fetch with just the URL. Then there was no CORS policy problem occurred but when i tried to fetch with just the URL that occurred. I don't have any backend server knowledge. I just complete your javascript tutorial. Is there any PROXY server to solve this problem??
Hi Dave, I got errors in #52:12 . After compiling the code my browser showed this Error message--- (No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.) how to solve this problem???
@@DaveGrayTeachesCode still got errors ------ 1) Access to fetch at 'swapi.dev/' 127.0.0.1/:1 from origin '127.0.0.1:5500' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. 2) GET swapi.dev/ net::ERR_FAILED 200 requestJoke @ main.js:134 (anonymous) @ main.js:140
Thankyou for such an in depth explanation. Using the fetch API I could inject data into an but how does one go about marking up the data with HTML tags and styling it with CSS after injection? Thankyou much.)))
s represent a nested browsing content (see MDN: developer.mozilla.org/en-US/docs/Web/HTML/Element/) ...so you can only change the content in an if it is yours - not the content of another site you load into the . If you were loading your own content, I'd suggest just working with that file directly instead of going from the parent to the file in the . I did find a link that references pop-ups instead of s, but the content may apply. It shows how to create a new document and reference it from the parent: javascript.info/popup-windows
@@DaveGrayTeachesCode I'm sorry I never explained myself. I'm creating links to display individual chapters of a book (the Bible) into an . I'll be creating around 1200 links. The Bible contains approximately 1200 chapters and I reckon there are a few ways I could inject each chapter into an . However, once a chapter loads into the it will a navigational bar that references verse numbers in the chapter. So the HTML markup and styling needs to be done prior to injection. Retrieving data from the database in JSON format doesn't have the HTML and CSS markup. How do I proceed? What are my options? Once again I'm so grateful and thankful for your input.
With this all being your pages, I would still avoid an . You can delete and add elements to a page with Javascript. This creates dynamic content which is what it seems you are describing. Look into creating the parts of the page you want to display with document.createElement(). From there, you can set textContent, add CSS classes, and everything else.
jQuery is definitely different from using the Fetch API although the similarity is requesting data. I avoid jQuery when possible these days, but it is definitely still out there in legacy code. You can look at the differences by comparing the MDN Fetch API details (developer.mozilla.org/en-US/docs/Web/API/Fetch_API) to the jQuery getJSON details (api.jquery.com/jquery.getjson/).
You make some of the most clear, well planned, well organized tutorials on JS on all of RUclips. Truly one of the most underrated JS tutorial channels.
I've received so much benefit from your videos over the past few weeks that I can't not say thanks in some way.
You're welcome, Daniel! 🙏
Now that is a thank you anyone will appreciate. haha
There's a lot of people teaching on RUclips but not everyone knows how to teach. You are one of the people who know how to teach. Thank you for this tutorial
@@chryst9876 thank you for the kind words!
This is a criminally underrated tutorial. The way all of this is explained is so good! I've taken so much out of this video and I'll be revisiting individual sections for reference down the line. Thank you so much, Dave!
You're very welcome, Pranav!
Amem to that! I'm able to listen to him and follow without subtitles! Great teaching capacity. Totally underrated!!!!❤
Most underrated channel
Thank you!
100%
I've watched about 4-5 different videos on promises and sync/await, but this one really tied it all together for me and helped me understand these concepts. I like how you go in depth about the little things (etc. explaining how the parameters put into functions don't have to have the same name as the actual parameter that you're going to insert when calling the function). That makes your videos easy to follow by even absolute beginners. Don't change your teaching style! Keep it up!
Thank you! 💯
This is the perfect amount of "in-depth", covers almost all aspects/use cases, without branching too far out of scope
Glad to hear it! 🙏
I have watched so many videos and never understood these topics the way you explain it. Now I completely understand how all these works. It is still so much worth Tutorials. ThankYou so much, Dave.
You're welcome!
This tutorial series has been changed my software life, ı have couldn't understand from other javascript teacher's, until I find you, Thank you so much Dave :)
Glad I could help!
another top class video mate, well done. I like two things about your videos:
1) The way your videos are so clearly explained.
2) The fact you go a little deeper into most topics than the other RUclipsrs out there.
Thank you John. I sincerely appreciate the detailed feedback you just provided. I will make efforts to continue to do both of these! 🙏🚀
I've seen a lot of tutorials about promises and async/await. But this one is probably the best one i've ever seen so far, because you used examples with actual data instead of using setTimeout, since this is what we future programmers will see in the wild. Thank you for the video, Dave! Greetings from Brazil.
You're welcome! And hello to Brazil! 💯🚀
Late to the party but I've watched a lot of people explain promises and async/await and this is the first one that took the time to explain some of the common pitfalls when working asynchronously. You've got my follow!
Thank you! 🙏
Finally understand async/await. Every tutorial on YT just shows how to console log everything. This was very helpful to see how to actually DO SOMETHING with the stuff we get back.
Glad it helped!
I've decided to only learn languages that Dave has tutorials for! Thanks for yet another amazing and clear tutorial!
Glad I could help, Tamim! 🙏💯
Just wanted to say thank you for posting this tutorial. I'd been stuck on understanding promises and the whole sync/asynchronous concept for around 4 months. This had been a major roadblock for me in learning node for backend, so this has really helped a lot. I'm still not 100% clear, but this vid has really helped me progress my understanding. Thanks again.
Glad it helped! 💯🚀
@@DaveGrayTeachesCode how do you use the console within VS Code? is it a plugin?
Best explanation on this topic on RUclips. Thanks Dave
Wow! Thank you for the kind words 🙂
wow, simply mind blowing
dave, you're amazing
the video is 2 years old so only the aesthetics(colorscheme, font, etc) differ compared to today but the quality content is still the same
also, another thing popped while watching the video was you explained the then and catch methods for resolve and reject but in async await you can catch resolve and reject using try catch block
I had no idea about the Accept header type and never seen text/plain type either, thank you once again dave :)
Brilliant Dave - a lot of of tutorials only explain what works, but never what doesn't work and why. You offered such a comprehensive understanding of the principles of promises and async/await, and when and where to use them.
Thank you immensely!
Glad it helped!
awesome video. the section on promises... thank you! i finally get it! ive watched several videos on the topic, but still just didn't quite have the right mental model! but the way you constructed the promise with resolve and reject, THAT made it click for me!!!! thanks again!!! very well done!
Glad to hear that!
2 years down the line and your tutorials are saving the day... I really your videos man...
Thank you!
I don't usually hit like in 99% of the videos I watch... You totally deserve to be on my 1%. Subscribed to the channel AND all your videos are getting a like.
Thank you very much!
Now to the 8h js video to learn what i missed since DHTML was a thing 😂😂😂
Revisting this and I am glad I now understand everything said in this video to appreciate how wonderful this tutorial is. Thanks Dave 🤓
Bar none the creme de la creme Asynchronous Javascript video I've ever seen on youtube. U definitely deserve more subs. Thanks heaps!
Thank you for the kind words, Nigel! 🙏🙏
I've been a full stack dev for over 3 years and your course helped me a lot. Thank you Dave.
Glad to hear that! 💯
Im watching other videos over and over but i understand only your explanations :) , well maybe others helped a little bit too, but only with your channel i understand truly, thank you
You're welcome!
A lot of information today. It branches out into many other subjects:
- APIs, the importance of reading documentation, and of course the backend, etc...
Thank you again Dave for all your work, so that we may learn.
Until the next one.
Thank you, Alberto! 🙏
This tutorial is so good that at the end I was expecting something like: aha now you have to pay this is not for free.
Thank you so much!!!
Now that you mention it: www.buymeacoffee.com/davegray ☕☕☕
😆 Seriously though, I'm just glad it helped you out. (...but I do like coffee)
The best teacher on the youtube, hands down!!!.
Thank you for the kind words! 🙏
This is most clearly explained video about promise,async and await in JavaScript keep making such clear tutorial
Thank you so much
Thank you for the kind words 🙏
Thanks for the very thorough explanation. You've earned a subscriber.
You're welcome!
This video is an absolute treasure! Great explanation and examples! I am now comfortable with apis. Thank you so much Dave
You're welcome!
Dude...once again you come through on crushing the course I bought on Udemy....I'm finishing it because I started it (As the words of Van Halen taught us) but the wrong course/instructor can make you wonder if you can hack it and make that big switch. Then I come to your videos to understand the concepts better, feel much better and get my confidence back. It's nothing against them...they're very knowledgeable but some know how to convey it better. Lets just say I know who's getting my money next time. Thanks man.
Thank you! I am working towards a premium course of my own. I won't put it on Udemy though. Stay tuned here: courses.davegray.codes/
I love the way you take your time to explain. God bless you.
Thank you!
Wonderful, people will get the value of this man “Dave” over time…🧠
Thank you!
i am glad i passed by this tutorial. you have just made dummy learn. thanks:)
Glad I could help!
This is some good stuff. You've really helped my coding journey. Thanks a lot maestro
Awesome tutorial! The explanations were very clear and the examples were incredibly helpful in understanding the concepts. Thank you so much for sharing your expertise, Dave! 💛
You're welcome!
You've got amazing tutorials, you're making a change in the community. Thank you Dave!!
Thank you! I really appreciate your feedback! 💯
Thanks a lot man, best explanation on whole youtube, if not on internet!
Glad I could help, and thank you for the kind words 🙏
Thank you so much Dave. this tutorial is a master class.
You are really a talented teacher. God bless you sir
Thank you!
Great tutorial Dave ! Hope you can teach us some JS frameworks or some back-end with node in the near future. Anyway, thanks to deliver your knowlegde to the world and stay safe.
Thanks! More stuff in the works. I appreciate your suggestions!
Keep it up man .....your way of explaining things is awesome .... you're gonna go very far...Thanks For the video !
Thank you! 🙏💯
God bless you Mr. Dave. You are the best.
Thank you! 🙏🙏
Hope you get more views and subscribers! Your content is priceless!
Thank you! 🙏💯
I love details
Right on!
Just got to know your channel. Nicely explained and good content! Subscribed
Thank you!
Learnt a lot of things from your tutorials Dave ✨. You're a magnificent teacher. A teacher I always wished but never had. You make things so clear and easy to understand without compromising the quality and minute details. Keep up the great work Man! We need more people like you. Have a great day Dave.
Thank you for the kind words, Pawel! 🙏🙏
Thank you so much for all your tutorials. I've learned a ton from you.
You're very welcome!
Absolutely phenomenal tutorial
Amazing tutorial about JavaScript Fetch API and Async Await .
You are very good at explaining, these topics are clear to me.
Glad to hear that! Thank you!
Thanks for the detail explanation. Your example perfectly solved my confusion regarding with async await when it comes to the working order!
Glad to hear that! 💯🚀
I already subscribed you and also share this video to my friends. you're the best teacher. Thanks so much... Clearly explained. thanks and thanks and thanks... < 3
Thank you, Yos! 🙏💯🚀
Thank you for another video Dave!
Honestly this is much more complicated for me compared to all the previous lessons.. I have a feeling that I've missed some previous lessons and that's why I can't understand completely what's going on, but in fact I was following all the previous lessons. I might need to read more about thiese subjects and rewatch the video.
You're welcome, Grigory! Yes, this topic is complex. We are working with outside data sources that we request data from. We need to await that data in our application before we can do something with it. May be a good one to review twice. 🚀 Keep up the good work!
@@DaveGrayTeachesCode thanks a lot for your support! Surely I will watch it again (and most likely more than 1 time). I understood the first part of the video, but then at some point I just got lost and untill the end it was all just clear as mud :) (as you said in the video).
Most underated channel but for sure it will grow up with huge ammount of programmer.watching your video only for judge but you got my subscrobe🔥
Thank you! 🚀
Thanks Dave for a great guide to asynchronous functions.
You're welcome! 💯
This is thorough and to the point. Thank you!
Glad it was helpful! 🚀
Sir Dave, please keep teaching us with this dedication.
I plan to keep going! 🚀
Great tutorial! Understandable, interesting and really good explanation! Thank you!
You're welcome! 💯
Great Content! Watched your video on Traversy Media too. Beautifully explained. Subscribed.
Thank you for the kind words and for subscribing!
well explained,,thanks
Great video Sir, this playlist helped me a lot. Thank you!
You're very welcome!
Amazing and clear explanation thank you so much!
You're welcome! 🙏🚀
Awesome explanation Dave, just one small thing, it would be nice if you also show us how you search for the api documentation and all, so that the beginners would know how to do it.
I just Googled for APIs and found some different ones. Many exist. When you find them, look at the documentation for each.
The best explanation ever!
Glad it helped!
instead of map at 35:09 could you have used optional chaining? Great tutorial.
Good question. I had to go back and look as it has been months since I made the tutorial. At the 35:09 reference point, I'm not sure what you would want to attempt to chain? The higher order function map() will return a new array with the new values. I say give it a shot and watch the console to see if it works out for you! 🚀💯
Yet another HQ tutorial, thank you Dave!
You're welcome, Roman! 💯
Great video! Keep up the good work.
Thank you, Marko 🙏💯
Amazing tutorial, Dave! You explained the topic very thoroughly. The pace was also very easy to follow, and the practical examples and insights into workflow really bring it all together. 10 / 10, Thank you!
You're very welcome! 💯🚀
Dave is saving my life
All code examples (after they are completed)
39:56
Retrieving user data
45:57
Retrieving dad jokes
49:42
Posting data
54:46
Retrieving data with URL parameters
1:04:00
Abstract it all into single responsibility functions
Can anyone explain why we are able to call the PostToWebPage function in the getAllUserEmails function before declaring it on line 18 at min 39:32? Is this an example of hoisting? Sorry if this is a beginner question, I'm just starting out. Thank you, Dave, for this excellent tutorial. Your calm demeanor makes this material a pleasure to listen to.
You're welcome! postToWebPage is called inside the getAllUserEmails function. The getAllUserEmails function is not called until the bottom. Arrow functions (anonymous functions) are not hoisted. Good questions!
@@DaveGrayTeachesCode makes sense. Wow, thanks so much for the response, Dave. I'm learning so much from your videos 🙌🏻. Greetings from Canada.
Thanks for the brilliant tutorial.
You're welcome!
Thank you Dave, in 35:50 I wonder why we have to
const jsonData = await response.json();
but dont have to "await" for the next function like this:
const userEmailArray = await jsonData.map(user => {
return user.email;
});
I thought we had to await for jsonData before map out user email?
No need to await the map function. We already have the jsonData. Map is a higher order function that maps over an array and returns a new array. The line above that calls the json() method on the response returns a promise that must await to resolve. I hope that helps! 😀
my favorite tutor 😁😁
Thank you!
the best explanation ever
Thank you for the kind words! 🙏🙏
Great teacher. Many thanks
You are welcome!
Thanks for the tutorial!
You're welcome!
Thank you for the informative lesson.
Although, it feels SO important that I wish it would have come with exercises for practicing the principles...
You're welcome! I suggest practicing making some of your own requests to the APIs shown in the last half of this tutorial as well as some other public APIs.
@@DaveGrayTeachesCode How can one approach any website out there to read information and once it arrived - to work with it indipendetly?
...Beside the fact that it seems that each request to reach other websites is responded by error messages (mostly about... CORS?)
So... while those tools in the video works with both sites,
And the principles themselves are crucial to get familiar with -
I haven't been equipped yet with the knowledge of how to execute and handle with a parsing from websites...
Do following lessons include this topic?
Thanks so much... Clearly explained
You're welcome!
Thank you so much ❤️❤️
You're welcome! 🙏💯
thank you it is really a helpful tutorial
Alot thanks, u are great 🥰
Thank you! 🙏💯
Nice explanation 👌
Thank you, Vikas 🙏
Thank you so much Dave.. crystal clear explanation for beginners on Asynchronous topic. Is there any chance for angular tutorial just want to learn from your tutorial ❤️
You're welcome and thank you for asking. Angular is not my current focus.
Great explanation ;)
Glad you liked it! 💯
I just love you man
Great teacher
Thank you for the kind words :)
awsome explanation bud
Glad it helped
man thank you for this clear, moderate tempo, explanation of everything. Im going to subscribe to your channel, and check out your other videos too
You're welcome! 💯
Dave thank you 🙏🏿 🙏🏿
Great. thank you.
You're welcome!
Mr. Dave sir please why didnt you use JSON.parse() but you used json() instead for the server data
The json() method is async which works well with requests using fetch - which are also async. JSON.parse is synchronous. In simple terms, it is not going to wait for a response. Here is a reference: teamtreehouse.com/community/what-is-the-difference-between-json-and-jsonparse
thanks for the clarity Mr. Dave Sir
Thanks for sharing this.
You're welcome!
Hello Dave, #54:12 in timeline When you fetch with just the URL. Then there was no CORS policy problem occurred but when i tried to fetch with just the URL that occurred. I don't have any backend server knowledge. I just complete your javascript tutorial. Is there any PROXY server to solve this problem??
One of the APIs used as an example in this tutorial is no longer active. That is probably the reason you are experiencing this issue.
Great tutorial!
Thanks!
Hi Dave, I got errors in #52:12 . After compiling the code my browser showed this Error message--- (No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.) how to solve this problem???
It looks like that API is no longer available. Here's a fun API to make requests from: swapi.dev/ - especially if you like Star Wars.
@@DaveGrayTeachesCode still got errors ------
1) Access to fetch at 'swapi.dev/' 127.0.0.1/:1 from origin '127.0.0.1:5500' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
2)
GET swapi.dev/ net::ERR_FAILED 200
requestJoke @ main.js:134
(anonymous) @ main.js:140
Thankyou for such an in depth explanation. Using the fetch API I could inject data into an but how does one go about marking up the data with HTML tags and styling it with CSS after injection? Thankyou much.)))
s represent a nested browsing content (see MDN: developer.mozilla.org/en-US/docs/Web/HTML/Element/) ...so you can only change the content in an if it is yours - not the content of another site you load into the . If you were loading your own content, I'd suggest just working with that file directly instead of going from the parent to the file in the . I did find a link that references pop-ups instead of s, but the content may apply. It shows how to create a new document and reference it from the parent: javascript.info/popup-windows
@@DaveGrayTeachesCode I'm sorry I never explained myself. I'm creating links to display individual chapters of a book (the Bible) into an . I'll be creating around 1200 links. The Bible contains approximately 1200 chapters and I reckon there are a few ways I could inject each chapter into an . However, once a chapter loads into the it will a navigational bar that references verse numbers in the chapter. So the HTML markup and styling needs to be done prior to injection. Retrieving data from the database in JSON format doesn't have the HTML and CSS markup. How do I proceed? What are my options? Once again I'm so grateful and thankful for your input.
With this all being your pages, I would still avoid an . You can delete and add elements to a page with Javascript. This creates dynamic content which is what it seems you are describing. Look into creating the parts of the page you want to display with document.createElement(). From there, you can set textContent, add CSS classes, and everything else.
@@DaveGrayTeachesCode Your advise has saved me headaches down the line and once again I thankyou for it. )))
Thanks Dave, I wonder how fetch() is different from
$.getJSON( "/details.php", function( resp ){} in Jquery?
Or are they just the same?
jQuery is definitely different from using the Fetch API although the similarity is requesting data. I avoid jQuery when possible these days, but it is definitely still out there in legacy code. You can look at the differences by comparing the MDN Fetch API details (developer.mozilla.org/en-US/docs/Web/API/Fetch_API) to the jQuery getJSON details (api.jquery.com/jquery.getjson/).
@@DaveGrayTeachesCode would you recommend using jQuery for simple interaction on the web?
@@DucMinhTeaching no I avoid it when possible these days. I prefer Vanilla JavaScript for everything that jQuery used to be used for.
Jesus Christe...finaly somebody explain what is going on with return in then. Thank you sir. Greath tutorial.
You're welcome! 💯🙏
@@DaveGrayTeachesCode I realy mean it. I spent whole week battleing with return value in async. Very, very good tutorial.