从axios获得响应后,我将其转换为流。在获取一些块stream.on("end"
之后,我将其执行。因此,我得到
Uncaught SyntaxError: Unexpected token with JSON.parse
对于正常数据(来自API的响应),它是有效的。但是,对于巨大的响应,缺少了很多块。
我也试图将大块保存在数组中,但是没有用。对于与 Postman 尝试过的同一API,我得到了答复。
httpRequest["responseType"] = "stream"
httpRequest["responseEncoding"] = "utf8"
returnValue = await axios(httpRequest)
let outputString = "";
const stream = returnValue.data;
stream.on("data", (chunk) => {
outputString += chunk.toString("utf8")
});
stream.on("end", () => {
var finalJson = JSON.parse(outputString);
});
答案 0 :(得分:0)
在将Accept-Encoding添加为gzip之后,我得到了完整的响应,而没有使用流。
httpRequest.headers["Accept-Encoding"] = "gzip, deflate, br"
returnValue = await axios(httpRequest)
console.log(JSON.parse(JSON.stringify(returnValue.data)))