js中setTimeOut()和setInterval()的使用--程式執行時間控制
阿新 • • 發佈:2019-01-27
問題出現環境:
Extjs中使用ajax請求時,並不阻止其後程式繼續執行,在業務流程中,我們需要在請求結束後執行操作,我們可以使用常規方法,將後續程式寫在回撥函式callback:或是success中,實現非同步控制,當我們的執行函式和ajax請求函式不在同一js中,接下來的處理,就用到了setTimeOut(),setTimeOut()使用過程中需要注意的是,第一個引數傳入的是方法,而第二個引數傳遞的是等待的時間毫秒數,
[javascript] view plain copy- function sayHello(){
- alert("Hello");
- }
- //通過方法名呼叫,新增雙引號。
- setTimeOut("sayHello()",1000);
- setTimeOut(function(){sayHello()},1000);
上述兩種呼叫方法效果是一樣的,至今不明白,為什麼不可以寫成setTimeOut(sayHello(),1000)
setTimeOut()設定該方法在1000ms後只執行一次,如果需要間隔指定時間重複執行方法時,那就要使用
setInterval()。最好定義變數,
var timeUpdate = setInterval("yourfunction()",yourtime);
停止該方法時呼叫clearInterval(timeUpdate)