Javascript Fetch API

| | | | | |

開発者は、多くの場合、独自のAPIまたはサードパーティのAPIからデータを取得する必要があります。この記事では、ブラウザのFetchAPIを使用してエンドポイントからデータを取得する方法について説明します。

FetchAPIは、ChromeやFirefoxなどのウェブブラウザからサーバーにHTTPリクエストを送信できるようにするインターフェースです。 GETリクエストはサーバー上のエンドポイントに到達し、そのエンドポイントからのデータを含む応答を返します。これにより、データを読み取ることができます。

リクエストの種類

HTTPGETリクエストは1つだけです。サーバーに対して行うことができる要求のタイプ。他のタイプの要求は、POST、PUT、およびDELETEです。これらのリクエストはCRUDリクエストを作成します。ここで、データベース内のデータを作成(POST)、読み取り(GET)、更新(PUT)、破棄(DELETE)できます。

さらに、サードパーティのAPIエンドにアクセスできます。 。 APIによると、主にデータを不変に保つために特定のクエリのみを実行できるため、データを操作するクエリを実行することはできず、読み取ることしかできません。

Fetch APIはどのように機能しますか?

FetchAPIはPromiseベースの通信システムを使用します。念のため、promiseは非同期関数であり、ロジックを独自のコードブロックにラップし、promiseが解決されたか拒否されたかを判断する応答を返します。

Fetch APIのユーザーとして、あなたは私たちを公開しません約束の論理を実際に書く必要はありません。リクエストを送信するためにそれを使用するだけで、FetchAPIは隠された約束を返します。答えを得る基本的な構文は次のとおりです。

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

約束は非同期リクエストですfetch()メソッドはグローバルスコープで使用可能であり、HTTPリクエストを実行するエンドポイントに渡されます。
< / p>

リクエスト後、thenで約束された構文を使用し、async / wait関数をキャッチまたは使用して、サーバーからの応答を取得できます。

約束の構文

ここで、約束を取り、応答を待ちます。応答を受け取ったときに、ステータスコードが200と異なる場合は、コンソールにエラーコードを記録して関数を終了します。

それ以外の場合は、フロントエンドのウェブサイトで応答を読み取り可能にします。使用できる場合は、 json()を使用してJavaScript Object Notation(JSON)オブジェクトに変更します。先に進む前にこれを評価したいので、前の約束に約束を連鎖させましょう。

評価したら、コンソールで確認するために費やした金額を記録できます。フォローすると、次のようになります。

フロントエンドでこの情報を取得した場合は、それを使用してカードやテーブルに記入するか、表示することができます。

非同期/待機

非同期/待機機能を使用して同じ結果を保存することもできます。

キーワードasyncは、この関数の一部が非同期になることを示しています。`waitキーワードに到達すると、スクリプトが実行されます。このコード行が評価されるまで停止します。

この関数には、2つの then()ステートメントに相当する2つのwaitステートメントがあります。私たちは約束の論理にありました。私たちが閲覧したURLとthフェッチされた情報がJSONに解析されるまで。 try / catch を使用して、応答から何か異常が戻ってきた場合に発生する可能性のあるエラーをキャッチします。

巻末注

FetchAPIが機能するためノード環境(つまり、Visual Studio CodeなどのIDEを使用している場合)では、フェッチはブラウザー環境でのみ機能するため、 wire addまたはnpminstall node-fetchが必要になります。 。

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