海綿寶寶撒
2018-12-07 00:09:45
類似這樣的
function wait(seconds){
//code
}
調(diào)用時直接用
...
wait(10);
...
來實現(xiàn)等待10秒的功能,而不用調(diào)用 settimeout 或 setinterval
4 回答

Qyouu
TA貢獻1786條經(jīng)驗 獲得超11個贊
這個是要運用回調(diào)函數(shù)的,你把需要延時處理的代碼放到回調(diào)里面就可以解決;代碼很簡單,如下
function wait(callback,seconds){ var timelag=null;//這里應該用if判斷一下;可以擴展 timelag=window.setTimeout(callback,seconds); } wait(function(){ alert(1);//這里放入需要等待處理的代碼... },2000);

侃侃無極
TA貢獻2051條經(jīng)驗 獲得超10個贊
據(jù)我所知不能,因為javascript不能阻塞當前線程(除非你用彈出alert或者confirm的形式),只能用settimeout一類的方法去回調(diào)。

偶然的你
TA貢獻1841條經(jīng)驗 獲得超3個贊
不是說不能用 settimeout 或 setinterval,我的意思是在 wait方法中對 settimeout 或 setinterval 進行封裝,在其他地方調(diào)用時直接用 wait就可以了

絕地無雙
TA貢獻1946條經(jīng)驗 獲得超4個贊
function pauseJS(timeInMilliS) {
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < timeInMilliS);
}
添加回答
舉報
0/150
提交
取消