反応ネイティブフェッチで以下のスニペットのthen(res => res.json())
とはどういう意味ですか?
fetch(url)
.then(res => res.json())
.then(res => {
this.setState({
data: res,
error: res.error || null,
loading: false
});
Fetchはjs自体の一部であるため、これは実際に反応する質問ではありません。
fetchは、ヘッダー、HTTPステータスなどのさまざまな情報を含むオブジェクトをPromiseとして返します。
res.json()
およびその他のさまざまな可能性があります。 .json()
は、jsonコンテンツでpromiseとして本体を返すだけです。
詳細情報: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
次のようにデータを返すことができます。
.arrayBuffer()
.blob()
.json()
.text()
.formData()
JavaScript fetch
関数は、指定されたurl
からリソースを非同期にプルします。一方、fetch
は Promise
を返します。 Promise
は、非同期部分を支援し、フェッチされたリソースをパラメーターとして使用してリソースがロードされると、then
(res => res.json()
)に渡された関数を実行します。フェッチされたリソースは、JSON形式の場合、json()
を使用して解析できます。
then
もPromise
を返し、チェーン可能にします。
_fetch(url) // asynchronously load contents of the url
// return a Promise that resolves when res is loaded
.then(res => res.json()) // call this function when res is loaded
// return a Promise with result of above function
.then(res => { // call this function when the above chained Promise resolves
this.setState({
data: res,
error: res.error || null,
loading: false
});
_
res => res.json()
は( でも正確に等しいわけではありません )と書くこともできます
_function(res) { return res.json()}
_