Situata:
Unë kam X (0-20) Imazhe që duhet të shfaqen sipas renditjes me një vonesë midis secilës prej tyre.
Unë u përpoqa ta zbatoja atë me një lak për dhe setTimeout, por luftova me ekzekutimin e kodit të brendshëm në rend sinkron.
Për shembull:
for(x=0;x<20;x++) {
setTimeout(doSomething(), 5000);
}
doSomething() {
setTimeout(function() {alert("test")},1000);
}
Nëse nuk gabohem, duhet të shoh një alarm çdo 6 sekonda, për 20 herë. Sidoqoftë, ajo që ndodh është se pas 6 sekondash i shoh të gjitha sinjalizimet menjëherë (ose çfarëdo që vendos në doSomething)
Si mund të bëj që loop-i im të presë derisa të përfundojë kodi i brendshëm?
doSomething()
nuk do të ekzekutohet menjëherë, sepse nuk thirret askund, përveç kohëmatësve. Problemi këtu është thjesht se 20 kohëmatës janë vendosur në (pothuajse) të njëjtën kohë, dhe të gjithë ndezin në (pothuajse) të njëjtën kohë, duke thirrurdoSomething()
20 herë. Këtu është një shpjegim i mirë: scottiestech.info/2014 /07/01/ 22.12.2016