I'm using the Fetch API both in the frontend and on the backend (NodeJS), a problem that I've been facing a lot happens when parsing the response as json.
response.json()
will return a promise so I don't know beforehand what the body of the response is, and when the body is empty the JSON parsing will fail with the error:
SyntaxError: Unexpected end of input
So my question is, how to prevent parsing the response when its empty?
Thanks
json() The json() method of the Response interface takes a Response stream and reads it to completion. It returns a promise which resolves with the result of parsing the body text as JSON .
To get JSON from the server using the Fetch API, you can use the response. json() method. The response. json() method reads the data returned by the server and returns a promise that resolves with a JSON object.
The simplest use of fetch() takes one argument — the path to the resource you want to fetch — and does not directly return the JSON response body but instead returns a promise that resolves with a Response object.
Once you have the Response
object, inspect the headers and see what Content-Length
says. Based on that you can know whether or not there is something to parse. But also, it seems bogus for the server to return an application/json
resource that is empty, as that is not JSON.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With