this post was submitted on 08 Jul 2023
8 points (90.0% liked)

JavaScript

1924 readers
2 users here now

founded 1 year ago
MODERATORS
 

Hi, I need to create a infinite (but breakable) cycle where I can slow down the cycle by awaiting promises inside. While cycle should be able to do this, but as you can see in the image, the duration is all over the place.

Why is this happening? Is there a way to make it close to the original sleep duration?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] Windex007@lemmy.world 4 points 1 year ago (1 children)

I don't know anything about JS, but those timings are suspiciously close to integer multiples of your sleep duration, after the first.

Based on what you've shown, "All over place" is not what I'd call it. It either fires "on time" or takes "exactly-ish" twice as long.

[โ€“] iFarmGolems@lemmy.world 1 points 1 year ago

I said all over the place because I've seen numbers like 1.7 seconds, 2.8 seconds and so on. But it does mostly land on integer multiples.

Anyway, tried to run this in nodejs and it works as expected - so the conclusion is that it's somehow a limitation in browser engine (V8 in this case)