JavaScriptはシングルスレッドの言語です。よって処理は上から順々に行われていき、並列処理はできません。(※workerを除く) 順々に行われていく処理を同期処理と呼びます。 ここで、ブラウザから外部に通信を行う処理を考えてみましょう。郵便番号による住所検索を例に挙げてみます。 よくあるUIですが、郵便番号検索ボタンを押し、外部サーバーにある郵便番号検索APIを叩いて住所を取得し、都道府県・市町村・番地を埋めるものです。 同期的に通信を行ってしまうと、郵便番号検索ボタンを押した瞬間、ブラウザが固まります。なぜなら通信という処理がまだ完了していないため、ブラウザはその処理に掛かりっきりになってしまっているからです。 それに対して非同期通信はブラウザの処理をブロックしません。処理をブラウザ外に委譲することで、自身の処理を続行できます。 非同期通信の種類現状、ブラウザから非同期通信を行うた
![ブラウザからWebAPIと非同期通信を行う](https://cdn-ak-scissors.b.st-hatena.com/image/square/c8e9c90ad04577a220b71b1438552dc384877c6f/height=288;version=1;width=512/https%3A%2F%2Fimages.microcms-assets.io%2Fprotected%2Fap-northeast-1%3Af6a90bbf-db9f-4b4a-8bc8-93d66a77ea58%2Fservice%2Fmicrocms%2Fmedia%2Fasync-request.png)