settimeout 對題主理解造成了影響,重新寫了乙個demo。
//老規則,為了方便複製,taskcontrol 再寫一遍
//建立任務控制類
var taskcontrol = function(taskfunction, finishfunction)elseelse).bind(this));
var finish = function()elseelseelse.bind(this);
//settimeout 是為了模仿非同步的效果,隨時 時間完成
settimeout(deal, parseint(math.random() * 1000));
var finish = function(){
console.log("任務完成");
console.table(this.cache);
var run = new taskcontrol(task, finish);
//為了測試方便,將資料也繫結過來
run.data = ["任務開始倒計時" ,"10", "9", "0", "開始了嗎?", "還沒結束嗎?", "列表中最後乙個任務!"]; //列表
run.index = -1; //預設索引
run.cache = ; //設定個執行快取
run.next(); //開始執行
js迴圈中呼叫ajax
var i for i 0 i 10 i 在for迴圈中呼叫ajax方法 補充頁面上的資料,這樣寫是錯誤的,他不會每執行一次for迴圈就執行一次ajax方法,而是等for迴圈結束才去執行ajax方法,所以導致ajax只被執行一次。然而當修改如下 for i 0 i 10 i 與上面不同的是在每次呼叫...
js 迴圈中的非同步
for var i 0 i 5 i 0 1 2 3 4 加入延時 for var i 0 i 5 i 1000 i 5 立即執行 5 一秒後 5 一秒後 5 一秒後 5 一秒後var output function i 1000 i for var i 0 i 5 i 0 立即執行 1 一秒後 2 ...
js延遲執行函式
在js中,延遲執行函式有兩種,settimeout和setinterval,用法如下 settimeout test 2000 2000毫秒後執行test 函式,只執行一次。setinterval test 2000 每隔2000毫秒執行一次test 函式,執行無數次。var interval wi...