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

1 回答 1

0

您可以将“差距”描述为“任务队列检查”、“任务检查”或“队列检查”,请参阅Efficient Script Yielding

  1. 排队任务 任务。_
于 2016-07-24T17:58:09.243 回答