Wpis z mikrobloga

via Wykop Mobilny (Android)
  • 0
@Init0: @Kutalongest: ależ debilny sposób.
Na początku funkcji, która ma zostać przerwana dodaj warunek
if (flag) return;
A flagę zdefiniuj w funkcji nadrzędnej lub globalnie.
W innej funkcji zmieniasz flagę z false na true
@Init0: no niby tak, ale jak masz pętlę while w js to blokuje event loop i nie da się tak po prostu zakończyć zwykłej pętli while poza tą funkcją
Ogólnie nie powinno się stosować funkcji blokujących event loop
@Kutalongest: Jeśli to jest zwykła pętla która wykonuje się z określoną ilością razy (bo przetwarza coś) nada się if (flag) return;, a jeśli jest to pętla która mogłaby wykonywać się równie dobrze co jakiś czas - możesz stworzyć setInterval wywołujący tą funkcję i przerwać go z poziomu drugiej.