js延遲1秒往下執(zhí)行 js中的for循環(huán)怎么每循環(huán)一次睡眠3秒?
js中的for循環(huán)怎么每循環(huán)一次睡眠3秒?JS控制一段時間后要執(zhí)行的函數(shù),如setTimeout和setinterval,但它們都是異步的。在for循環(huán)中編寫這兩個函數(shù)。執(zhí)行順序是在執(zhí)行整個for循環(huán)
js中的for循環(huán)怎么每循環(huán)一次睡眠3秒?
JS控制一段時間后要執(zhí)行的函數(shù),如setTimeout和setinterval,但它們都是異步的。在for循環(huán)中編寫這兩個函數(shù)。執(zhí)行順序是在執(zhí)行整個for循環(huán)之后執(zhí)行setTimeout和setinterval函數(shù)。它不能達(dá)到每次停頓幾秒鐘的效果。例如,對于(VaR I=0I<7i){控制臺.log(“for:”i)設(shè)置超時(function(){控制臺.log(“set:”I)})這個的執(zhí)行結(jié)果是打印出:0到6,然后打印6次設(shè)置:7
js中for循環(huán)每次循環(huán)如何暫停一秒后執(zhí)行?
JS可以阻止,當(dāng)然,死循環(huán),同步Ajax,alert/prompt/confirm可以阻止主線程,但是你的界面也卡住了。另外,webworker中的importscripts()和node中的各種同步api可以阻塞它們自己的線程。但是如果線程被阻塞,你就不能在這個線程上做任何事情。堵塞主線是特別忌諱的。如果您只想暫停一段代碼的執(zhí)行,那么可以在不阻塞線程的情況下實現(xiàn)它。方法是利用發(fā)電機的暫停和恢復(fù)特性。
要了解更多信息,請閱讀TJ/Co的源代碼。