我有一个 for 循环,后面跟着一行代码(来自 mocha 的 done 语句)。
会不会出现循环还没完成就执行了done()的情况?对于这样的场景,javascript 中的执行顺序是如何工作的?
for (let i=0; result.length < i; i++) {
assert.equal(result[i].priority, 6);
}
done();
最佳答案
在循环“完成”之前永远不会调用 Done。但是“完成”的定义在你的循环中看起来很奇怪。
for循环应该是
for(let i=0; i < result.length; i++){
assert.equal(result[i].priority, 6);
}
当您只使用 result.length 时,如果 result 包含任何内容,它将完全跳过循环,因为正数是真值。
关于javascript - for循环和执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40340946/