JavaScript SetTimeout ricorsivo


Esempio

Per ripetere una funzione indefinitamente, setTimeout può essere chiamato in modo ricorsivo:

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

setTimeout(repeatingFunc, 5000);

A differenza di setInterval , ciò garantisce che la funzione venga eseguita anche se il tempo di esecuzione della funzione è superiore al ritardo specificato. Tuttavia, non garantisce un intervallo regolare tra le esecuzioni delle funzioni. Questo comportamento varia anche perché un'eccezione prima della chiamata ricorsiva a setTimeout impedirà il ripetersi, mentre setInterval si ripeterà indefinitamente a prescindere dalle eccezioni.