1.1: fetch() - Working With Data & APIs in JavaScript

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ส.ค. 2024
  • Welcome to Working with Data and APIs in Javascript!
    This course is for aspiring developers who want to learn how to work with data in web applications. How do you retrieve, collect, and store data? The course will be taught through a series of creating three data projects. This is the first video of the series!
    1.1 This video is client-side only and covers the web fetch() API, loading image data and focusing on handling asynchronous events with Promises (async / await),
    🎥 NEXT LESSON: • 1.2 Tabular Data - Wor...
    🎥 FULL COURSE: • Working with Data and ...
    💻github.com/Cod...
    🔗developer.mozi...
    🚂 Website: thecodingtrain....
    💖 Patreon: / codingtrain
    🛒 Store: www.designbyhu...
    📚 Books: www.amazon.com...
    🎥 Coding Challenges: • Coding Challenges
    🎥 Intro to Programming: • Start learning here!
    🔗 p5.js: p5js.org
    🔗 Processing: processing.org
    📄 Code of Conduct: github.com/Cod...

ความคิดเห็น • 447

  • @erichreinholtz
    @erichreinholtz 4 ปีที่แล้ว +96

    dude ur like the only person in this entire bloody internet who actually explained this properly

    • @wesleychigbu7335
      @wesleychigbu7335 2 หลายเดือนก่อน

      Legendary comment😭😭

  • @jrichalot
    @jrichalot 4 ปีที่แล้ว +159

    As a teacher, I can say this is mindblowingly brilliant! Oh man the effort that gets in producing a seamless and well constructed lesson like this is enormous. A massive thank you from me.

  • @beron_the_colossus
    @beron_the_colossus 5 ปีที่แล้ว +111

    Ahh, it's finally here! Thank you Mr. Shiffman for everything that you do!

  • @JoSh-yu6jt
    @JoSh-yu6jt 4 ปีที่แล้ว +8

    You are the god of programming tutorials. Your excitement and joy is contagious. If there was a person who could give birth to webDevs it's you. 😁👍🏻

  • @brikimbran
    @brikimbran 5 ปีที่แล้ว +20

    Due to your pavlovian training with the bell, I now smile every time I your videos start Shiff. Excellent as always.

  • @jamesa.
    @jamesa. 5 ปีที่แล้ว +105

    Just in case you confused like I was- "rainbow.jpg" is a file on his computer, so you just navigate to an image on your computer too.

    • @HossamKhalaf-sr1oo
      @HossamKhalaf-sr1oo 4 ปีที่แล้ว

      Thank you!!!

    • @hkar19
      @hkar19 4 ปีที่แล้ว +5

      the thing is for me the fetch API cannot load. i just did what was written by Dan.
      the console said:
      URL scheme must be "http" or "https" for CORS request.

    • @hkar19
      @hkar19 4 ปีที่แล้ว +4

      oh ok it is done when i started the live server. i forgot that one

    • @laalaajonsen
      @laalaajonsen 4 ปีที่แล้ว

      but where do we define the path for that file?

    • @medilies
      @medilies 4 ปีที่แล้ว +15

      @@laalaajonsen
      "rainbow.jpeg" is a relative path
      Liveserver does load all the workspace (project folder ) on the network!
      So suppose that that the project folder is:
      Project ( index.html, img[ rainbow.jpeg ] ).
      Fetch with absolute path is like : "localhost:5500/img/rainbow.jpeg"
      Or with relative path is like:
      "Img/rainbow.jpeg"

  • @sankai91
    @sankai91 5 ปีที่แล้ว +24

    if only you'd have started this series about 4 years ago, it would have made my life back then so much easier!
    Finally got to understand it properly :)

  • @pablovillaverde679
    @pablovillaverde679 3 ปีที่แล้ว +7

    I am finally able and happy to report that I was able to write code to fetch an array of images and put them in a web page. I was also succesful to fetch the text in a .txt file. I have a good understanding of HTML and CSS and a few weeks of learning Javascript, so my next goal is to construct a web page to display analytic and historic information of Formula 1. There are a couple of API's available that I can use, so wish me luck!

  • @softmerit25
    @softmerit25 3 ปีที่แล้ว +7

    Seriously man. This is the best tutorial training I have ever seen in TH-cam so far. I'd love the way you teach, explain and illustrate. You're really doing great stuff. Thanks a lot.

    • @colindante5164
      @colindante5164 2 ปีที่แล้ว

      Would you happen to know what does 'img elt' means at the 8:55 mark ?? I've never heard of " ELT " before. Thanks a lot.

    • @omkarpabe7780
      @omkarpabe7780 2 ปีที่แล้ว

      where to get the rainbow file from ? where is this server please I am new to this

    • @colindante5164
      @colindante5164 2 ปีที่แล้ว

      @@omkarpabe7780 it could be any file off the internet or stored locally. In this case he's using an image off the internet that has the .jpg extension.

  • @onurbamaro
    @onurbamaro 3 ปีที่แล้ว +1

    Wow! Amazing the way you explain how the code actually works behind the scene instead of just showing it. That is real teaching!
    Respect from Brazil!

  • @joshsinger8
    @joshsinger8 2 หลายเดือนก่อน

    Such a great teacher, not even fully into the series and I can already tell I'm in good hands 👍

  • @christopherburke7042
    @christopherburke7042 4 ปีที่แล้ว +12

    I am massively appreciative for everything that you are bringing to the table in this course, as well as by way of all the other resources you provide. God bless you man.

  • @landtechjobs
    @landtechjobs 3 ปีที่แล้ว

    This is the type of content that pushes humanity forward. Thank you for empowering others.

  • @whenimnotaround
    @whenimnotaround 5 ปีที่แล้ว +62

    VS Code has got an extension that is also called Live Server. It does basically the same thing, but for someone that has not yet played with node it might be simpler to use.

    • @AugustoFnrd
      @AugustoFnrd 5 ปีที่แล้ว +2

      ​@@noxdevices idk about raspberry, but at least for linux distros, search for nvm (Node Version Manager)!

    • @matrezak
      @matrezak 5 ปีที่แล้ว

      @@noxdevices Installing node in linux under sudo is going to create lots of permission issues

    • @psylocke1517
      @psylocke1517 5 ปีที่แล้ว +1

      just install it as a snap then > snapcraft.io/node

    • @LucasNaja
      @LucasNaja 5 ปีที่แล้ว

      @@matrezak it's only you put --unsafe-perm at the end of the line.
      sudo npm i -g node@latest --unsafe-perm
      xD

    • @LucasNaja
      @LucasNaja 5 ปีที่แล้ว

      sudo apt install npm && sudo npm i -g npm@latest && sudo npm i -g node@latest --unsafe-perm

  • @clapynick
    @clapynick 5 ปีที่แล้ว +2

    Nice video Dan :). One thing people often forget to do with fetch is to also look at the response! HTTP-level errors (eg: 404) are still considered resolutions, and so we're assuming that the response we get is fine to work with even though we may have ran into a HTTP-level error. A fix for this is to add a quick if-statement in the first _.then()_ callback:
    .then(response => {
    if(!response.ok) { // check for HTTP level errors, throw if error occurred
    throw new Error("Failed with HTTP code " +response.status); // reject
    }
    return response;
    }).then(result => result.blob()).then(...
    This way, any proceeding code/logic can assume that the response received is okay to work with.
    Thanks again for the videos, can't wait to see more :)

    • @TheCodingTrain
      @TheCodingTrain  5 ปีที่แล้ว +1

      Oh, this is such a good tip, thank you!!

  • @axeljorgensen3438
    @axeljorgensen3438 3 ปีที่แล้ว

    After like 5 other walkthroughs that left me feeling stupid I'm realizing how poorly almost everyone else explains this stuff. Props to you for being a good teacher. Thank you.

  • @josepharcher9750
    @josepharcher9750 5 ปีที่แล้ว +18

    You are so good at explaining everything! Thank you for the video :)

  • @thomaswilliams495
    @thomaswilliams495 5 ปีที่แล้ว +2

    I absolutely love your tutorials. I'm astounded by how quickly you cover the information, jumping into code, error fixing, and rambling over so much territory with joy and humor. Math homework has never been this much fun!

  • @brysontai5107
    @brysontai5107 2 ปีที่แล้ว

    As I am new in Javascript, but this guy could deliver precise explanation about it. Subscribe is a must !

  • @nikolebianchini
    @nikolebianchini 3 ปีที่แล้ว +6

    I just love how he reminds me of my 6th grade teacher, like he literally has that same enthusiasm! Makes me really want to learn JS. Such an awesome job at keeping your viewers attention. I kinda wander off when learning on my own lol

  • @GazaFamilyHope
    @GazaFamilyHope ปีที่แล้ว

    I like how he made everything fun, even a person with no programming background can understand his explanation... I wish they taught me this way from the start

  • @KanagawaMarcos
    @KanagawaMarcos 5 ปีที่แล้ว +6

    One of the best coding channels out there. Amazing video Shiffman, thank you for it!

  • @temzeks
    @temzeks 3 ปีที่แล้ว

    i always head straight to your videos on any topics i learn, because of the way you explain and energize me. I am literally happy while watching your vids!

  • @unclegood
    @unclegood 4 ปีที่แล้ว

    just came across your youtube videos, you have the most fun and vibrant coding lessons, and a teacher all children should have!

  • @santiagocuadra1121
    @santiagocuadra1121 ปีที่แล้ว

    i'm glad to know english, just to say: thank you for all effort put on those videos.

  • @JeanLuemusic
    @JeanLuemusic 2 ปีที่แล้ว +1

    I feel like I am there in the class. I get him and what he is saying so well. Learning just got easier for me.

  • @warkentien2
    @warkentien2 2 ปีที่แล้ว

    I finally understood fetch, in a way that I won't forget in 30 minutes. Great video!

  • @nilsondelaossa4052
    @nilsondelaossa4052 9 หลายเดือนก่อน

    You are my code hero. Nobody explains so easily like you. Choo choo !

  • @whydoyouneedmyname165
    @whydoyouneedmyname165 5 ปีที่แล้ว

    even adds async/await in first video this guy is the internets end boss. good work.

  • @AnjehMbah-n2l
    @AnjehMbah-n2l หลายเดือนก่อน

    The only tutorial that made sense. Life saver!

  • @ismailahmad9597
    @ismailahmad9597 2 ปีที่แล้ว +1

    This stuff wasn't really setting right with me before. You helped me figure it click for me but that wasn't the best part of the video. You make it fun. Life doesn't have to be boring, why not make it fun? Thanks a ton!

  • @123saltgaming6
    @123saltgaming6 2 ปีที่แล้ว

    The best possible explanation that is available on TH-cam 👍👍

  • @matissjudins6272
    @matissjudins6272 2 ปีที่แล้ว

    ur a god, beem strugling with fetch for a week, its easy to understand u

  • @usurpercries
    @usurpercries 2 ปีที่แล้ว

    Been coding in C the past couple months can’t wait to come back to JavaScript.

  • @art0van0derlay
    @art0van0derlay 3 หลายเดือนก่อน

    What a fantastic teacher! Keep up the good work

  • @akai746
    @akai746 4 ปีที่แล้ว +2

    Just the perfect course for my project. It's due on Tomorrow, hope I can complete it. This course has made my work much easier.

  • @lollilolli4582
    @lollilolli4582 2 ปีที่แล้ว

    I like the happy energy you deliver so coding is less depressing :) thank you !

  • @nirajdeshmukh7514
    @nirajdeshmukh7514 ปีที่แล้ว

    Wow.. this tutorial is perfect to context which gives real world example. Thank you very much.

  • @bgb76
    @bgb76 3 ปีที่แล้ว

    the magic of FETCH-ing starts from 11:18 ASYNC & AWAIT --- awesome

  • @lukask6066
    @lukask6066 5 ปีที่แล้ว +3

    The first time I really understand promises! LIKE!

  • @andreask_me2683
    @andreask_me2683 3 ปีที่แล้ว

    probably one of the best programming teachers.

  • @sudhanshusharma9123
    @sudhanshusharma9123 3 ปีที่แล้ว

    How does it happen that whenever I am stuck at anything and cannot think of any solution at all, you just completely solve my problem and make me a happy person again. ❤

  • @movieclips3268
    @movieclips3268 4 ปีที่แล้ว

    one of the best video to explain js in the most simple way.

  • @devadharshini1122
    @devadharshini1122 4 ปีที่แล้ว

    i have never enjoyed while learning something. You are soooo good in explaining stuffs.

  • @sarthakkhare4600
    @sarthakkhare4600 4 ปีที่แล้ว +1

    I am new here and i came here to learn about api and i am damn sure that i will definitely learn too much from you Sir

  • @AlphastepMusic
    @AlphastepMusic ปีที่แล้ว

    I've been looking for this for a very long time!

  • @pysco11
    @pysco11 ปีที่แล้ว

    This is soo informative and well done! I love your enthusiastic voice tone. I can't thank you enough. 👍🏽👍🏽👍🏽👍🏽👍🏽

  • @thomasyao66
    @thomasyao66 5 ปีที่แล้ว +1

    You're content is so awesome. I'm going to join NYU as a grad student in Bioinformatics and am proud to be in the same institution as you.

  • @francoisbouchet9907
    @francoisbouchet9907 3 ปีที่แล้ว +1

    i'm sorry, but the n00b in me has to say it loud... so here comes the CAPS:
    "IT'S BEEN DAAAAAYZ I AM STRUGGLING ON GETTING A SIMPLE API CALL TO JUST WORK AND LITERALLY NOBODY BUT CODING TRAIN TOOK THE TIME TO EXPLAIN & DEMONSTRATE IT IN A PRACTICAL MANNER (..and with such enthusiasm!) ! I FINALLY UNDERSTAND HOW IT WORKS! ALERT("THANK YOU SO SO MUCH!!

  • @amastou4634
    @amastou4634 4 ปีที่แล้ว

    Amazing ! Just discovered this channel because I was looking for how to use fetch and async, I understood all that stuff in this video. Thanks !

  • @AlThePal78
    @AlThePal78 2 ปีที่แล้ว

    You are my favorite teacher because you are so fun to watch so happy and animated thank you so much :)

  • @hustler212
    @hustler212 ปีที่แล้ว

    I feel happy while studying from you.

  • @Tads552
    @Tads552 4 ปีที่แล้ว

    Im showing this playlist to EVERYBODY! Congrats on the effort because this is helping me out a lot!

  • @thedonsky5092
    @thedonsky5092 3 ปีที่แล้ว

    This guy is awesome, Wish there was more time in the day to watch all his videos

  • @jorge88824
    @jorge88824 4 ปีที่แล้ว +2

    Basic concepts explained in an amazing way. Thank you once again for the great content and way of presenting it to the youtubers. You boosted my knowledge more than a whole semester at uni. Stay safe.

  • @Xerxes17
    @Xerxes17 3 ปีที่แล้ว

    Bro, you are a lifesaver, thank you so much for the well delivered tutorial. You've provided the full context, focused on the function clearly, and chunked up the steps involved in an understandable and logical manner, which is really important for true comprehension.

  • @PotatoLover1212
    @PotatoLover1212 5 ปีที่แล้ว

    I love you. I have been searching for an easy way to retrieve an image from API and everyone was converting it into a base64 text. This si much easier, thanks !

  • @englishwitharash
    @englishwitharash 5 หลายเดือนก่อน

    you did really well. You said what we needed exactly.

  • @nate1988
    @nate1988 3 ปีที่แล้ว

    This is the first video of yours I've stumbled on and it's the best yet to break down fetch() with the added bonus of await/async. I'm a self-taught adult student and it's hard finding a teacher that clicks. Subscribed and looking forward to diving into the rest of your videos.

  • @futincrivel
    @futincrivel ปีที่แล้ว

    This is a BRILLIANT lesson! Its very good. Thank you

  • @iamsachin619
    @iamsachin619 3 ปีที่แล้ว

    Man what did we do to deserve a teacher like you❤️

  • @iamamirali3424
    @iamamirali3424 3 ปีที่แล้ว

    That was nice. I`ve seen no teacher as jolly as you. Thanks for the video :)

    • @ondine9997
      @ondine9997 3 ปีที่แล้ว

      Hey, do you know what the three calls to fetch() are?

  • @arindam-karmakar
    @arindam-karmakar 2 ปีที่แล้ว

    WHY DIDN'T I FOUND YOUR CHANNEL EARLIER! SUBSCRIBED!
    Thanks for the amazing contents!

  • @rotrose7531
    @rotrose7531 5 ปีที่แล้ว

    Thank you, this concept is not easy to understand, but you explains it so clear that everybody can understand it now. Thank you for your effort and sharing.

  • @bernardsamapoh3619
    @bernardsamapoh3619 2 ปีที่แล้ว

    Really like your style of teaching. You simplify concepts to the basic.

  • @tiffanygibbel3767
    @tiffanygibbel3767 2 ปีที่แล้ว

    You and your channel are *brilliant*

  • @alperenozkan
    @alperenozkan 5 ปีที่แล้ว +2

    Thanks 🙏 I really like your videos , your energy and the way you explain in front of the whiteboard. I feel like exactly in the class 💫👌

  • @josimarramos91
    @josimarramos91 4 ปีที่แล้ว

    for people who is having trouble to define the path, first try to open the image using normally path on HTML tag page egs:

  • @tunafish9112
    @tunafish9112 5 ปีที่แล้ว +2

    I love your videos dude, can't wait to go through this series!

  • @anubhab07
    @anubhab07 2 ปีที่แล้ว

    Hey King, you dropped this 👑

  • @JimKernix
    @JimKernix ปีที่แล้ว

    Excellent - thanks! Just subscribed and will be watching some more videos related to fetch and async await.

  • @vahidsediqi5638
    @vahidsediqi5638 2 ปีที่แล้ว

    The best content and teaching method i ever seen. Thanks

  • @maltemichels
    @maltemichels 5 ปีที่แล้ว

    You're a magician. You really found your vocation!

  • @jordanlong5354
    @jordanlong5354 4 ปีที่แล้ว

    Working with fetch and .then in my bootcamp. This helped me tremendously thank you so much

  • @lightningloans
    @lightningloans 2 ปีที่แล้ว

    You're alright buddy... good vibes and its genuine

  • @QuarkGluonPlasma137
    @QuarkGluonPlasma137 ปีที่แล้ว

    Dude you are amazing!! Fantastic video!

  • @trashmoneyyt
    @trashmoneyyt 4 ปีที่แล้ว

    To be honest I'm amazed I was able to do it! I sort of followed along while you were explaining the await and blob concepts but I actually managed to get three rainbow images to display plus the text. Woo!

  • @traezeeofor
    @traezeeofor ปีที่แล้ว

    Thanks for this video man, and grateful for google for linking it as 3rd option for beginners looking for practical fetch API lessons.👍

  • @mutualaiddao
    @mutualaiddao ปีที่แล้ว +3

    8:44 is the code snapshot, for those who want to just read the code

  • @magicweaponr072
    @magicweaponr072 5 ปีที่แล้ว +1

    You've mentioned "arraybuffer" at some point during the video. And I'd like a video with raw binary data manipulation and/or typed arrays. It is truly one of my dream videos that I would want to see!

  • @marianamena3863
    @marianamena3863 ปีที่แล้ว

    You are a treasure, thank you!

  • @kevintlu
    @kevintlu 5 ปีที่แล้ว +1

    Finally Dan has done this! Thanks ! Keep it up!!

  • @abdel-karimosmanuazumah499
    @abdel-karimosmanuazumah499 ปีที่แล้ว

    i never really understood how to use api until i watched ur vid .

  • @JorgeArias
    @JorgeArias 5 ปีที่แล้ว

    This content and tutos are just, GOLD!

  • @hiryuimajin
    @hiryuimajin 5 ปีที่แล้ว +1

    I enjoy your videos so much. This is so related to what im building and the way you explain things are very good. You enunciate and even the tempo is a bit faster its not that hard to follow. I appreciate you! 😘

  • @wfalcao69
    @wfalcao69 3 ปีที่แล้ว

    Awesome lecture. I'm jobless at the moment, but I will subscribe to your channel as soon as I get a new job.

  • @hcgreier6037
    @hcgreier6037 ปีที่แล้ว

    A massive thanks from here for your instructive lessons and your effort you're putting in this!
    Bow!

  • @pliniojr95
    @pliniojr95 2 ปีที่แล้ว

    Thank you for the video! You made it easy to understand. I will try these exercises you suggested at the end of the video.

  • @anshikgupta2993
    @anshikgupta2993 5 ปีที่แล้ว +2

    The fetch function is having an issue stating " Fetch Api cannot load file. URL scheme must be http or https for CORS request. " Sir can you help or anyone else can. Will be really grateful

    • @goodman564
      @goodman564 4 ปีที่แล้ว

      I Have the same problem !! did you solve it ?

  • @paulosilva-dm1qb
    @paulosilva-dm1qb 4 ปีที่แล้ว

    U r a genius and teaches with heart. What else can we need?...Alll happiness

  • @KennieDevCamp
    @KennieDevCamp 4 ปีที่แล้ว

    Your tutorials are super duper awesome Mr. Shiffman. I'm learning and loving your contents. Keep it up

  • @cass_666
    @cass_666 3 ปีที่แล้ว

    Was coding along and I too kept on mispelling response too! Ahhh! Great tutorial. I enjoyed the challenge at the end which pushed me to make sure I understand how this all works! Looking forward to the rest!

  • @weehagaming1513
    @weehagaming1513 3 ปีที่แล้ว

    Finally some high quality tutorial, thanks dude

  • @scottcook9749
    @scottcook9749 4 ปีที่แล้ว +11

    "I'm going to make an error happen just so we can see it"
    That's my secret Cap, I always have errors in my code.

  • @maksim7683
    @maksim7683 5 ปีที่แล้ว

    I just want to say, you are the best.

  • @PavelPetrasuk
    @PavelPetrasuk 4 ปีที่แล้ว

    You are the best teacher ever! Thank you so much for your videos! ❤️

  • @marwabarakat2551
    @marwabarakat2551 7 หลายเดือนก่อน

    Thanks a lot for your efforts, you really make it seems to easy

  • @samahgad241
    @samahgad241 2 ปีที่แล้ว

    Very interesting,learning with you.🌷

  • @rankostevanovich2496
    @rankostevanovich2496 4 ปีที่แล้ว

    The best teacher! Thanks for your awesome work

  • @doremon2611
    @doremon2611 4 ปีที่แล้ว

    Thanks man, keep spreading the happiness of coding!