Quantcast
Channel: Active questions tagged svelte - Stack Overflow
Viewing all articles
Browse latest Browse all 1541

Multiple fetch requests NOT executed in async on Chrome on Windows

$
0
0

I am developing a simple website using Svelte, with a frontend server in Svelte and a backend server in NestJS. Currently, I'm working on my local machine.

The issue:

I am sending a request from my website to my "frontend server endpoint" in Svelte (located in the +server.ts file). This request is then forwarded to my NestJS server.

I'm using Promise.all to send 6 parallel requests from my website to the Svelte server. The Svelte server then reroutes these requests to the NestJS server and waits for the responses (since it's a heavy process, it typically takes 4-5 seconds).

All the requests are sent instantly from the website, I can verify this from the network tab. However, the Svelte server takes a significant amount of time (around 6-7 seconds) to actually receive these requests. It receives the first request and then it slows down. I don't understand why this delay is happening.

In my +server.ts file, I'm using async/await. My initial thought was that the Svelte server might be blocked while awaiting the NestJS server's response. However, I expected that the Svelte server would handle the async/await code for me, potentially creating workers or otherwise managing the asynchronous operations. Is my assumption incorrect?

Thanks!

Update

It is not Svelte related. I investigated (keeping in mind @Peppe L-G comment) and this is what I found out:

I created a simple HTML file with this code:

<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>

My expectation was to see the console.log to be executed almost at the same time. The API endpoint will reply after 5 seconds, simulating a heavy request.Everything is executed synchronously! A fetch is executed only after that the previous one is done.The same code, in nodeJS, is executed asynchronously.I am using the latest chrome version in Windows 11.


Viewing all articles
Browse latest Browse all 1541

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>