JavaScript - Sleep funckióhoz hasonló késleltetés?
Ezt a kódot adja ki minden tutorial weboldal:
function sleep(delay) {
var start = new Date().getTime();
while (new Date().getTime() < start + delay);
}
A probléma ezzel az hogy a böngésző befagy egy idő után, és felteszi a kérdést akarom-e futtatni tovább. Egy olyan kódom van aminek mindenképpen meg kell állnia. Egyszerű megoldás lenne egy alert(), viszont 20-26 alkalommal kellene meghívni, várni és leokézni. Másik dolog amit ajánltak a jqueryben a .delay ami egyáltalán nem funkcionált. Utolsó megoldásként a setTimeout, ami ugyancsak azonnal tovább futtatta a kódot. Hogyan tudnék fagyás nélkül várni mondjuk 20 másodpercet?
Ez a részlete a kódnak ami után meg kell állni:
$.get("getlinks.php", { x: index, y: array[x], z: ourl, k: brl }, function( data ) {
array = temp.concat(data.split("*"));
});
Ha nem áll meg a kód egyáltalán akkor az array üres. Ha van alert ami megállítja, de keveset várok a leokézéssal akkor kb a várt információ fele kerül bele, ha elég időt várok akkor a teljes információ megjelenik. A getlinks.php kb 1 másodpercen belül betölti az oldalt (ha böngészőben nyitom meg.)
a kérdésben lévő kód nem szüneteltet, az dolgozik mint az állat, azért fagy meg a böngésző.
csinálsz egy fg-t, aminek késleltetve kell lefutnia, és ezt settimeouttal hívod meg.
pl
asd(); //lefut
setTimeout(function(){ kesobb(); }, 20000); //beidőzíti, ez majd 20 sec múlva fut le
dsa(); //itt rögtön folytatódik (beidőzítette az előző sorban a dolgot, és fut tovább rögtön)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!