🎃
JavaScript fetchでレスポンスがnullの場合json()をどうハンドリングするか
json()
メソッドでnullは直接利用できないので、text()
メソッドなどを利用して調べる必要がある
また、responseは一回フェッチするとTypeErrorが発生してしまうので clone()
メソッドを利用する必要がある
async function request() {
const response = await fetch('/null')
if (!response.ok) {
throw new Error('status error')
}
const text = await response.clone().text()
if (text.length === 0) {
return null
}
return response.json()
}
Discussion