chrome请求响应快但执行请求回调慢

最近遇到一个问题。
同一个接口请求,在 chrome 上跑,执行请求回调的时间要比在 firefox 和 edge 上慢得多。
请求从发出到响应(下载完响应内容)都很快,但就在这之后变慢了,firefox、edge 都能立即执行我的回调函数,但是在 chrome 上,就要等待特别久,远超性能预期。
接口请求接受的数据为 json(Accept: application/json)。
一开始怀疑是 chrome 解析 json 数据的问题,因为我的数据里有一个巨大且元素结构复杂的数组,于是让后端将数据先转化为 json 字符串,然后包装一层构建新 json 对象

伪代码:{"data": "转化为 json 字符串的数据"}

返回给前端,让前端自行解析 json。结果还是慢。

出于保密,代码我就写成伪代码了:

request("url", jsonStr => {
    // 回调在 chrome 中执行巨慢
    let data = JSON.parse(jsonStr);
    ...
})

request 做了一定封装,都是常规操作,如果是这块问题,我再贴出配置。总之就是,请求顺利发出,响应时间正常(下载完响应数据),但在响应后,到执行我的回调函数,chrome 会花特别长的时间,而 firefox、edge 就瞬间执行。
请问这是什么原因造成的?如何解决?

阅读 2.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题