Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome请求比其他浏览器请求耗时更长_Javascript_Google Chrome_Firefox_Vuejs2_Axios - Fatal编程技术网

Javascript Chrome请求比其他浏览器请求耗时更长

Javascript Chrome请求比其他浏览器请求耗时更长,javascript,google-chrome,firefox,vuejs2,axios,Javascript,Google Chrome,Firefox,Vuejs2,Axios,我的网站的一位用户注意到,对我的API发出GET请求的无限滚动函数的加载时间严重延迟。在进行测试时,这似乎只发生在Chrome和Opera中,其他浏览器提供了近乎无缝的体验 因此,经过一些测试后,我决定做一些时间日志记录(很抱歉,由于声誉太低,我无法在这里发布内联图像): 这些日志来自相同的调用,正如您所见,chrome大约需要3000毫秒,而firefox大约需要90毫秒。IE/Edge具有与Firefox相同的性能 为了进一步揭开谜团,“网络”选项卡似乎正确地报告了毫秒(除了一些例外,大

我的网站的一位用户注意到,对我的API发出GET请求的无限滚动函数的加载时间严重延迟。在进行测试时,这似乎只发生在Chrome和Opera中,其他浏览器提供了近乎无缝的体验

因此,经过一些测试后,我决定做一些时间日志记录(很抱歉,由于声誉太低,我无法在这里发布内联图像):

这些日志来自相同的调用,正如您所见,chrome大约需要3000毫秒,而firefox大约需要90毫秒。IE/Edge具有与Firefox相同的性能

为了进一步揭开谜团,“网络”选项卡似乎正确地报告了毫秒(除了一些例外,大约100毫秒,但远不及3000毫秒):

现在我要调用的实际代码是:

loadMore() {
      console.time('start load');
     //some extra stuff here
        console.timeEnd('start load');
        console.time('state api call');
        this.$APIService.getCards(this.deckId, this.page, this.searchInput, this.lastId)
          .then(res => {
            console.timeEnd('actual call');
            console.timeEnd('state api call');
            //some more stuff here
    })
}
“this.$APIService.getCards”调用只是我的apihandler:

getCards (deckId, page, searchInput,lastId) {
    console.time('actual call');
    return Api().get('cards?deckId=' + deckId + '&lastId='+lastId + '&search='+ searchInput)
  },
其中“Api()”是我的axios对象:

 axios.create({
    withCredentials: true,
    baseURL: baseURL
  })
另一件需要注意的事情是,我的服务器只在延迟后接收请求,因此这将与网络标签对应,说明它只需要大约100毫秒

那么,有人知道为什么会发生这种情况吗?正如您所看到的,我确实让时间日志在请求之前就开始,在收到结果之后就结束。为什么只在Chrome中执行调用之前会有延迟


提前谢谢

首先检查是否未选中禁用缓存(开发工具->网络)。在两个浏览器上都选中了禁用缓存。这意味着它们都将执行非缓存请求。我不认为这与缓存有任何关系,因为它实际上在发送请求之前有一个延迟,只在chrome和opera上发送。我从2016年的一个有同样问题的人那里找到了一条线索,但他最后把它写成了一个“chrome bug”。()然后分析浏览器的时间线(性能选项卡)。你应该看看在3秒内会发生什么。。