TIL 7週ベース


fetch


URLリクエストを許可するAPIがfetch APIです
fetch APIはPromiseの形で実現される.
fetch(url)
  .then((response) => response.json()) // 자체적으로 json() 메소드가 있어, 응답을 JSON 형태로 변환시켜서 다음 Promise로 전달
  .then((json) => console.log(json)) // 콘솔에 json을 출력
  .catch((error) => console.log(error)); // 에러가 발생한 경우, 에러

json()

fetch(url)
  .then((response) => response.json()) 
fetch()を介して伝達される応答は、JSONではなくHTTP応答である.したがって,json()メソッドを用いてresonse bodyをjsonのobjectに変換する.
このような過程が進めば、JSON.parse()のようにjsオブジェクトを受信します.
ではJSONpasre()とresponse.json()の違いは何でしょうか…?
私が見つけた答えは以下の通りです.(正解じゃないかも)

JSON.parse() vs response.json()


stackoverflow json() vs parse()

json()


  • response.json()に応答ヘッダが含まれていても,ホストのみを読み出してロードする.

  • Body.json() is asynchronous and returns a Promise object that resolves to a JavaScript object.
    :json()は非同期でpromisオブジェクトを返します.

  • the .json() method parses the JSON response into a JS object literal
    :json()は、json応答をjsオブジェクト文字に解析します.
  • parse()


  • JSON.parse()にはレスポンスボディしか含まれません.本体とヘッダがあると、データを読み取ることができません

  • JSON.parse() is synchronous can parse a string and change the resulting returned JavaScript object.
    : JSON.parse()は、解析文字列を同期し、JavaScript値またはオブジェクトを生成します.