Javascript Fetch-API

| | | | | |

Ontwikkelaars moeten vaak gegevens ophalen uit hun eigen API of een API van derden. Dit artikel gaat over het gebruik van de browser Fetch API om gegevens van een eindpunt te KRIJGEN.

De Fetch API is een interface waarmee we HTTP-verzoeken naar een server kunnen sturen vanuit een webbrowser zoals Chrome of Firefox. Een GET-verzoek bereikt een eindpunt op een server en retourneert vervolgens een antwoord met gegevens van dat eindpunt zodat u het kunt lezen.

Soorten verzoeken

Het HTTP GET-verzoek is er slechts één type verzoek dat u kunt indienen bij een server. De andere soorten verzoeken zijn POST, PUT en DELETE. Deze verzoeken vormen een CRUD-verzoek. Hier kunnen we de gegevens in onze database maken (POST), lezen (GET), bijwerken (PUT) en vernietigen (DELETE).

Bovendien hebben we toegang tot API`s van derden. . Volgens de API mag je alleen bepaalde zoekopdrachten uitvoeren, voornamelijk om hun gegevens onveranderlijk te houden, dus je kunt die zoekopdrachten die de gegevens manipuleren niet uitvoeren, je kunt ze alleen lezen.

Hoe werkt de Fetch API?

De Fetch API gebruikt een op Promise gebaseerd communicatiesysteem. Ter herinnering: beloften zijn asynchrone functies die logica in hun eigen codeblok verpakken en een antwoord retourneren dat bepaalt of de belofte is opgelost of afgewezen.

Als gebruiker van de Fetch API, u stelt ons niet bloot. Het is niet nodig om de logica van de belofte daadwerkelijk op te schrijven. Gebruik het gewoon om een verzoek te verzenden en de Fetch API retourneert een verborgen belofte. Hier is de basissyntaxis om het antwoord te krijgen:

promise.then (respons) .then (json) .catch (error) ;

De belofte is het asynchrone verzoek. De methode fetch () is wereldwijd beschikbaar en wordt doorgegeven aan het eindpunt waarvoor we het HTTP-verzoek willen doen.

Na het verzoek kunnen we de syntaxis gebruiken die is beloofd met then en catch of de async / wait-functie gebruiken om het antwoord van de server te krijgen.

Beloofde syntaxis

Hier nemen we de belofte en wachten op een reactie. Wanneer we een reactie krijgen en de statuscode verschilt van 200, loggen we een foutcode op onze console en beëindigen de functie.

Anders, om de reactie leesbaar te maken zodat onze frontend-website het kan gebruiken, veranderen we het in een JavaScript Object Notation (JSON) object met de json () . We willen dat dit wordt geëvalueerd voordat we verder gaan, dus laten we een belofte aan de vorige belofte koppelen.

Na evaluatie kunnen we vastleggen wat er is uitgegeven om het op onze console te zien. Als je volgt, zou je zoiets als dit moeten krijgen:

Als we deze informatie op de frontend krijgen, kunnen we deze gebruiken om kaarten of tafels in te vullen, of anders zouden we ze willen tonen.

Async / Await

U kunt ook de async / wait-functie gebruiken om hetzelfde resultaat op te slaan.

Het sleutelwoord async vertelt ons dat `een deel van deze functie asynchroon zal zijn. Als we bij het sleutelwoord wait komen, wordt scriptuitvoering stopt totdat deze regel code is geëvalueerd.

We hebben twee wait-instructies in deze functie, vergelijkbaar met de twee then ()-instructies we hadden in de beloftelogica een naar de url die we doorzochten en th de andere totdat de opgehaalde informatie in JSON is geparseerd. We gebruiken try / catch om fouten op te sporen die kunnen optreden als er iets ongewoons terugkomt uit de reacties.

Eindnoten

Om ervoor te zorgen dat de Fetch API werkt in een node-omgeving (dwz als je een IDE gebruikt zoals Visual Studio Code) heb je wire add of npm install node-fetch nodig, omdat fetch alleen werkt in de browseromgeving .

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method