「fetch」と「await fetch」について


**(何れも期待した結果を取得できたのですが、)下記コードは何が違うのですか？**  
・それぞれ長所短所があれば知りたいです

* * *

fetch

[code]

    var response = fetch('/test').then(function(response) {
      return response.json();
    }).then(function(responseJson) {
    });
    
[/code]

* * *

await fetch

[code]

    (async () => {
      const response = await fetch('/test');
      await response.json();
    })();
    
[/code]

* * *

・fetch自体は非同期ではない？  
・XMLHttpRequesの代わりということであれば、非同期？  
・それとも非同期で使用するPromiseを同期的に取得しているだけ？？




async/await
はPromiseの糖衣構文なので、より簡単な書き方という理解で良いと思います。JavaScriptのCallback地獄からPromiseが生まれ、そこからまたPromise地獄が生まれたので`async/await`が生まれた、という経緯です。

<https://developer.mozilla.org/en-
US/docs/Learn/JavaScript/Asynchronous/Async_await>




async/await
はPromiseの糖衣構文なので、より簡単な書き方という理解で良いと思います。JavaScriptのCallback地獄からPromiseが生まれ、そこからまたPromise地獄が生まれたので`async/await`が生まれた、という経緯です。

<https://developer.mozilla.org/en-
US/docs/Learn/JavaScript/Asynchronous/Async_await>

