You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows平台Chrome浏览器多fetch请求未异步执行问题

浏览器并行Fetch请求串行执行,Svelte服务端接收请求延迟问题

我正在用Svelte开发网站,前端服务基于Svelte,后端采用NestJS,当前处于本地开发阶段。

初始问题

我从页面向Svelte的+server.ts端点发送请求,该端点会将请求转发至NestJS后端。我使用Promise.all一次性发送6个并行请求,Svelte服务端转发后需要等待NestJS的响应(该过程为耗时操作,通常需要4-5秒)。从浏览器网络面板可以验证,页面会立刻发出所有请求,但Svelte服务端接收这些请求却耗时很久(约6-7秒),第一个请求之后接收速度明显变慢,我不清楚延迟的原因。

我在+server.ts文件中使用了async/await,最初认为Svelte服务端在等待NestJS响应时不会被阻塞,它应该会自动处理异步操作(比如创建工作进程),这个假设是不是错误的?

排查更新

后续发现问题与Svelte无关。我做了如下测试:
编写了一个简单HTML文件,代码如下:

<script>
    fetch("https://httpbin.org/delay/5", { method: "GET" }).then(() => {
      console.log("1");
    });
    fetch("https://httpbin.org/delay/5", { method: "GET" }).then(() => {
      console.log("2");
    });
    fetch("https://httpbin.org/delay/5", { method: "GET" }).then(() => {
      console.log("3");
    });
    fetch("https://httpbin.org/delay/5", { method: "GET" }).then(() => {
      console.log("4");
    });
    fetch("https://httpbin.org/delay/5", { method: "GET" }).then(() => {
      console.log("5");
    });
  </script>

该API端点会延迟5秒响应,用来模拟耗时请求。我原本预期所有console.log会几乎同时输出,但实际却是串行执行——一个请求完成后才会执行下一个。同样的代码在Node.js中可以异步并行执行,我使用的是Windows 11系统上的最新版Chrome浏览器。

内容的提问来源于stack exchange,提问作者Jacob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 10:15:02