Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Zkus tohle: show(){ var self = this. setTimeout ( function (){ return self.test(); },100); }…
Pavel 13.10.2019 14:31
Pavel
Díky, a má tam být var self = this. nebo var self = this; s tím středníkem na konci to funguje, ale…
zacatecnickej 13.10.2019 14:45
zacatecnickej
Jo, patří tam středník, blbě jsem to napsal. Přímo to nefunguje kvůli rozdílnýmu scope. Ještě by t…
Pavel 13.10.2019 17:20
Pavel
Díky ale PURE JS tuto funkci nezná :( bind(this);
zacatecnickej 13.10.2019 19:28
zacatecnickej
Ale zná. Je je to potřeba napsat na správný místo. class Foo { test() { console.log('bar'); } show(…
Wikan 13.10.2019 19:36
Wikan
Díky. Ta funkce stejně funguje nějak jinak než bych chtěl, pokud zadám setTimeout(function (){ con…
zacatecnickej 14.10.2019 12:34
zacatecnickej
Ale funguje to tak, jak to fungovat má. Pomocí setTimeout() nastavíš, za jaký čas se má funkce vykon… nový
Pavel 14.10.2019 14:03
Pavel
Našly by se i jiný způsoby: https://stackoverflow.com/questions/33289726/combination-of-async-functi… poslední
Wikan 14.10.2019 14:25
Wikan

Díky.
Ta funkce stejně funguje nějak jinak než bych chtěl, pokud zadám


setTimeout(function (){
console.log('prvni');
}, 1000);
console.log('druha');

vypíše se v logu
druha
prvni

jako by ta funkce nečekala až se provede, jde to nějak nastavit? Až se provede celý kód uvnitř setTimeout() tak pokračuj? Díky

Ale funguje to tak, jak to fungovat má. Pomocí setTimeout() nastavíš, za jaký čas se má funkce vykonat a program pokračuje dál. Hledáš asi něco jako delay(), ale to v JS nenajdeš.

Zpoždění můžeš simulovat velkou smyčkou, prázdnej for cyklus, ale ani náhodou neodhadneš kolik průchodů je potřeba na 1 s. Na každým PC to bude jinak, i na stejným PC to bude jinak v závislost na vytížení procesoru.

Zpět do poradny Odpovědět na původní otázku Nahoru