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]()); –