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
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.