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値またはオブジェクトを生成します.
Reference
この問題について(TIL 7週ベース), 我々は、より多くの情報をここで見つけました https://velog.io/@ellie12/TIL-7주차-fetch-기초テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol