Recursive setTimeout

suggest change

To repeat a function indefinitely, setTimeout can be called recursively:

function repeatingFunc() {
    console.log("It's been 5 seconds. Execute the function again.");
    setTimeout(repeatingFunc, 5000);
}

setTimeout(repeatingFunc, 5000);

Unlike setInterval, this ensures that the function will execute even if the function’s running time is longer than the specified delay. However, it does not guarantee a regular interval between function executions. This behaviour also varies because an exception before the recursive call to setTimeout will prevent it from repeating again, while setInterval would repeat indefinitely regardless of exceptions.

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:


Intervals and timeouts:
*Recursive setTimeout

Table Of Contents
16Map
17Set
36Intervals and timeouts