【发布时间】:2019-05-01 23:03:48
【问题描述】:
foreach (Array.prototype.forEach) 是否保证每次在同一数据集上都以相同的顺序循环?为什么?
【问题讨论】:
-
什么循环和什么对象?
-
因为
forEach不是异步的?仅当上一次迭代完成时才接受下一个参数。当然,如果您没有在该循环中调用任何异步函数。 -
你的意思是
Array.prototype.forEach?你说的“为什么”是什么意思? -
当然,但是如果提供给它的函数对值进行了一些异步处理,则不能保证该处理以任何特定顺序发生。
[1, 2, 3, 4, 5].forEach((n) => setTimeout(() => console.log(n), Math.random() * 1000)) -
@jonrsharpe 我的意思是我想了解这两种情况下订单逻辑背后的原因。
标签: javascript loops foreach iteration sequence