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
});
以操作系統爲例,我會說你對內核(這裏是:瀏覽器)進行控制。但是因爲** yield **現在是一個Javascript關鍵字,所以它可能不是一個好主意...... – Arnauld
你可以嘗試與setTimeout結合即(setTimeout(500,callbacks [callbackIndex]()); –