JavaScript同步循环

4 javascript asynchronous for-loop synchronous node.js

在将函数从我的测试数据扩展到生产工作时,我一直在研究JavaScript的异步行为.

我有一个for循环,我知道将在数十万之间,Node会暂停一个for循环并返回它或者我可以安全地假设Node将在返回我的函数之前执行循环完成吗?

这是有问题的循环:

function fixData(dataset, blockcount){
  for (var i = 0, len = dataset.length; i < len; i++) {
    var obj = dataset[i];
    obj._id = obj.name;
    obj.expires = blockcount + obj.expires_in;
    delete obj.expires_in;
  }
  return dataset;
}
Run Code Online (Sandbox Code Playgroud)

Joh*_*yHK 9

循环在Node.js和JavaScript中是同步的,同步代码总是运行完成.因此,如果您没有调用异步函数,您可以放心,您的代码在完成之前不会被中断.