Javascript-Abruf-Api

| | | | | |

Entwickler müssen häufig Daten von ihrer eigenen API oder einer Drittanbieter-API abrufen. Dieser Artikel behandelt die Verwendung der Browser-Fetch-API, um Daten von einem Endpunkt abzurufen.

Die Fetch-API ist eine Schnittstelle, die es uns ermöglicht, HTTP-Anforderungen von einem Webbrowser wie Chrome oder Firefox an einen Server zu senden. Eine GET-Anfrage erreicht einen Endpunkt auf einem Server und gibt dann eine Antwort mit Daten von diesem Endpunkt zurück, damit Sie sie lesen können.

Arten von Anfragen

Die HTTP-GET-Anfrage ist nur eine davon Art der Anfrage, die Sie an einen Server stellen können. Die anderen Arten von Anforderungen sind POST, PUT und DELETE. Diese Anforderungen stellen eine CRUD-Anforderung. Hier können wir die Daten in unserer Datenbank erstellen (POST), lesen (GET), aktualisieren (PUT) und löschen (DELETE).

Außerdem können wir auf API-Enden von Drittanbietern zugreifen . Gemäß der API dürfen Sie nur bestimmte Abfragen ausführen, hauptsächlich um ihre Daten unveränderlich zu halten, sodass Sie Abfragen, die die Daten manipulieren, nicht ausführen können, Sie können sie nur lesen.

Wie funktioniert die Fetch-API?

Die Fetch-API verwendet ein Promise-basiertes Kommunikationssystem. Zur Erinnerung: Promises sind asynchrone Funktionen, die Logik in ihren eigenen Codeblock einschließen und eine Antwort zurückgeben, die bestimmt, ob das Promise aufgelöst oder abgelehnt wurde.

Als Benutzer der Fetch-API: Sie entlarven uns nicht Es besteht keine Notwendigkeit, die Logik des Versprechens tatsächlich aufzuschreiben. Verwenden Sie es einfach, um eine Anfrage zu senden, und die Fetch-API gibt ein verstecktes Versprechen zurück. Hier ist die grundlegende Syntax, um die Antwort zu erhalten:

promise.then (Antwort) .then (json) .catch (Fehler) ;

Das Versprechen ist die asynchrone Anfrage. Die Methode fetch () ist im globalen Bereich verfügbar und wird an den Endpunkt übergeben, an dem wir die HTTP-Anfrage ausführen möchten.

Nach der Anfrage können wir die versprochene Syntax mit then und catch verwenden oder die async / wait-Funktion verwenden, um die Antwort vom Server zu erhalten.

Promise-Syntax

Hier nehmen wir das Versprechen und warten auf eine Antwort. Wenn wir eine Antwort erhalten, wenn der Statuscode von 200 abweicht, protokollieren wir einen Fehlercode auf unserer Konsole und beenden die Funktion.

Andernfalls, um die Antwort lesbar zu machen, damit unsere Frontend-Website verwenden können, wandeln wir es mit dem json() in ein JavaScript Object Notation (JSON) Objekt um. Wir möchten, dass dies ausgewertet wird, bevor wir fortfahren, also ketten wir ein Versprechen an das vorherige Versprechen.

Nach der Auswertung können wir aufzeichnen, was ausgegeben wurde, um es auf unserer Konsole anzuzeigen. Wenn Sie folgen, sollten Sie so etwas erhalten:

Wenn wir diese Informationen im Frontend erhalten, können wir sie zum Ausfüllen von Karten oder Tabellen verwenden oder möchten sie sonst anzeigen.

Async / Wait

Sie können auch die Async / Wait-Funktion verwenden, um dasselbe Ergebnis zu speichern.

Das Schlüsselwort async sagt uns, dass "ein Teil dieser Funktion asynchron sein wird. Wenn wir zum Schlüsselwort wait kommen, wird das Skript ausgeführt stoppt, bis diese Codezeile ausgewertet ist.

Wir haben zwei wait-Anweisungen in dieser Funktion, vergleichbar mit den beiden then ()-Anweisungen Wir hatten in der Promise-Logik a zu der URL, die wir durchsuchten, und th e andere, bis die abgerufenen Informationen in JSON geparst werden. Wir verwenden try / catch, um Fehler abzufangen, die auftreten können, wenn etwas Ungewöhnliches aus den Antworten zurückkommt.

Endnotes

Damit die Fetch-API funktioniert In der Node-Umgebung (dh wenn Sie eine IDE wie Visual Studio Code verwenden) benötigen Sie wire add oder npm install node-fetch, da fetch nur in der Browserumgebung funktioniert .

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