りゅうくんの備忘録

徒然なるままに思ったことを書くところ

今まで何も考えず.then使ってたけどよくなかったらしい

知見

  • fetchでthenな感じのやつはasync awaitな感じで書くといいらしい
const getFirstUserData = () => {
  return fetch('/users.json') // ユーザ一覧のJSONを取得
    .then(response => response.json()) // パース
    .then(users => users[0]) // 最初のユーザを取り出す
    .then(user => fetch(`/users/${user.name}`)) // 指定ユーザのJSONを取得
    .then(userResponse => response.json()) // パース
}

getFirstUserData();
async function getFirstUserData() {
  const response = await fetch('/users.json') // ユーザ一覧のJSONを取得
  const users = await response.json() // パース
  const user = users[0] // 最初のユーザを取り出す
  const userResponse = await fetch(`/users/${user.name}`); // 指定ユーザのJSONを取得
  const userData = await user.json(); // パース
  return userData
}

getFirstUserData();

みたいな書き換えができる

書き換えのメリット

  • 可読性の向上
  • jsonの例えばusers[0]をみて処理を変える時とか、thenだと面倒くさいコードになりがち

別件

  • ===で厳密比較を使っていくとよさそう
1 == '1' // => true
1 === '1' //=> false