Sytuacja:Jak ograniczyć czas wykonywania funkcji w javascript?
Użytkownik pisze jakiś kod js i powinien być uruchamiany na niektórych danych (lokalnie).
Ale czasami są nieskończone pętle lub rekursywne wywołania ... Dlatego muszę ograniczyć czas wykonania funkcji, ale nie edytować samej funkcji (a nawet jeśli tak - czy powinienem wstawiać sprawdzenia po każdym punkcie sekwencji? o rekurencyjnych wywołaniach?)
Czy są jakieś inne rozwiązania tego dziwnego problemu? Może eval może dać kilka parse tree kodu lub coś podobnego?
Czy istnieje powód, dla którego wolisz próbować przerwać egzekucję, aby po prostu uniknąć nieskończonych pętli/rekursji? –
Kiedy mówisz, że działa lokalnie na niektórych danych, masz na myśli maszynę użytkownika lub lokalnie na jakimś serwerze pod twoją kontrolą. Jeśli to drugie, czy działa to w środowisku podobnym do Node.js? – DWright
Powodem jest to, że skrypt wykonuje kod użytkownika, a nie mój – user1431314