fetchAPIを使っていて、以下のエラーが出た
TypeError: body used already for: https://my-app/remove-favorite
調べたところ、レスポンスを.json()
でJSONオブジェクトとして解析していたが、Content-Type
がjson
でないことが原因だった
レスポンスがJSONオブジェクトでない場合は、.text()
にして変換したところエラーが解消された
今後はレスポンスのContent-Type
を確認すべきだが、確証がない場合は以下のようにしておくのが良いかも
res = await fetch(url) if (res.headers.get('content-type').includes('json')) { await res.json() } else { await res.text() }