Promiseをasyncとawaitで書き換える

非同期通信の書き方ですが、Promiseを使って以下のように書けます。

function fetchAlbums() {
  fetch('https://rallycoding.herokuapp.com/api/music_albums')
    .then(res => res.json())
    .then(json => console.log(json));
}
fetchAlbums();

さらにこれをasyncとawaitを使って書き換えると

async function fetchAlbums() {
  const res = await fetch('https://rallycoding.herokuapp.com/api/music_albums');
  const json = await res.json();
  console.log(json);
}
fetchAlbums();

こっちの方がスッキリして見やすいですね。
ただしasync,awaitは対応していないブラウザーがあるのでbabelなどのトランスパイラでコンパイルする必要があります。

コメント