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?

  • Windex007@lemmy.world
    cake
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    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.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      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)