La situazione è:Come limitare il tempo di esecuzione di una funzione in javascript?
L'utente scrive un po 'di codice js e dovrebbe essere eseguito su alcuni dati (localmente).
Ma a volte ci sono loop infiniti o chiamate ricorsive ... Ecco perché ho bisogno di limitare il tempo di esecuzione di una funzione ma non di modificare la funzione stessa (e anche se così - dovrei inserire dei controlli dopo ogni punto di sequenza? sulle chiamate ricorsive?)
Esistono altre soluzioni per questo strano problema? Forse la valutazione può dare qualche albero di analisi del codice o qualcosa del genere?
C'è una ragione per cui preferisci provare ad abortire per evitare semplicemente loop infiniti/ricorsione? –
Quando dici che viene eseguito su alcuni dati localmente, intendi sul computer dell'utente o localmente su qualche server sotto il tuo controllo. Se quest'ultimo è in esecuzione in qualcosa come l'ambiente Node.js? – DWright
Il motivo è che lo script esegue il codice utente, non il mio – user1431314