2016-07-24 49 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]()); –

回答

相关问题