一个请求很慢一个很快

pftdvrlh  于 2022-09-28  发布在  iOS
关注(0)|答案(1)|浏览(276)

我有一个“/categories/list”api。我为那个api使用了内存缓存。当我从 Postman 那里触发它时,它总是在4毫秒到12毫秒之间返回。但当我从我的react应用程序中测试它时。一个响应为7毫秒,第二个响应超过300毫秒。我还从Microsoft Edge测试了它,它是相同的。为什么会超过300毫秒?

axios.get("/api/1.0/categories/list");

更新:

我注意到了一个新情况。服务器响应时间没有问题。它看起来是关于初始连接。为什么会发生这种情况?

9gm1akwq

9gm1akwq1#

实际上,在浏览器中,您可以发出2个请求,这与Postman不同。一个是用于检查CORS的OPTIONS,另一个是GET、POST等。当OPTIONS请求时,您的API服务器返回一个标头,该标头是Access Control Max Age。Access Control Max Age值表示等待下一个OPTIONS请求的时间。可能您的API没有设置Access Control Max Age标头或设置得太短,因此您的浏览器总是发出2个请求。这里需要更多的调查才能确定。此外,axios是一个包,它需要时间来执行它打算做的任何事情。如果您想更深入一点--->axios请求由Microtask Queue处理,该队列具有浏览器libUV库的外观功能,注册此类事件等需要一些时间。

相关问题