在 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
});