2016-07-24 39 views
0

在JavaScript中,可以導致代碼在當前代碼完成執行la setImmediate或setTimeout(...,0)後立即執行。什麼是正確的術語來描述停止代碼執行後的時刻?

提到執行缺口的正確術語是什麼?

我想知道,因爲我正在爲單元測試編寫一個實用程序,一旦發生這些差距之一就允許測試繼續,我想給它一個有意義的名稱。

目前我的代碼看起來像這樣和功能就被稱爲等待:

export default function wait(done, ...callbacks) { 
    let callbackIndex = 0; 
    function invokeNext() { 
    if (typeof callbacks[callbackIndex] === 'function') { 
     setImmediate(() => { 
     try { 
      callbacks[callbackIndex](); 
     } 
     catch (e) { 
      return done(e); 
     } 
     callbackIndex += 1; 
     invokeNext(); 
     }); 
    } else { 
     return done(); 
    } 
    } 
    invokeNext(); 
} 

它這樣使用:

wait(done,() => { 
    //... assert something after first code gap 
}, 
() => { 
    //... assert something after second code gap 
}); 
+0

以操作系統爲例,我會說你對內核(這裏是:瀏覽器)進行控制。但是因爲** yield **現在是一個Javascript關鍵字,所以它可能不是一個好主意...... – Arnauld

+0

你可以嘗試與setTimeout結合即(setTimeout(500,callbacks [callbackIndex]()); –

回答

相關問題