Javascript 节点js可以在for循环期间通过外部函数修改数组吗?

Javascript 节点js可以在for循环期间通过外部函数修改数组吗?,javascript,arrays,node.js,Javascript,Arrays,Node.js,假设我的程序目前处于for循环中,但由于某些原因,它花费的时间太长。让我们说,不知何故,该算法是如此之慢,大约需要500毫秒才能循环通过阵列中的100个元素 当程序在数组中时,可能正在处理50号元素,我是否可能从网络中收到输入命令,告诉我添加更多元素或从数组中删除元素 一个实际的例子是匹配队列服务器。每次用户加入时,服务器都会通过调用函数尽可能地匹配玩家,但也有可能是队列中的玩家,尚未被函数“联系”到,直接离开并退出。这会破坏for循环搜索吗 小结:我有一个数组要循环,它的元素在for循环过程中

假设我的程序目前处于for循环中,但由于某些原因,它花费的时间太长。让我们说,不知何故,该算法是如此之慢,大约需要500毫秒才能循环通过阵列中的100个元素

当程序在数组中时,可能正在处理50号元素,我是否可能从网络中收到输入命令,告诉我添加更多元素或从数组中删除元素

一个实际的例子是匹配队列服务器。每次用户加入时,服务器都会通过调用函数尽可能地匹配玩家,但也有可能是队列中的玩家,尚未被函数“联系”到,直接离开并退出。这会破坏for循环搜索吗


小结:我有一个数组要循环,它的元素在for循环过程中是否会因外部函数而发生更改(添加/删除)?或者在程序使用for循环完成后调用这些函数?(就像一个数据库在处理查询时被锁定以防止这些问题)

JavaScript在单个事件循环上运行。只要它正在运行您的函数,它就不会运行任何其他函数


如果您收到一个事件,表示应该将一个项添加到数组中,那么在当前运行的函数完成之前,该事件的事件处理程序无法启动。

JavaScript在单个事件循环上运行。只要它正在运行您的函数,它就不会运行任何其他函数


如果您收到一个事件,指出应该将一个项添加到数组中,然后,在当前运行的函数完成之前,该事件的事件处理程序无法启动。

除非您在不同的fork/core之间使用共享内存概念,否则如果另一个函数在回调中会怎么样?@DonWarren-那么调用它的函数在另一个函数运行时无法运行。除非您使用的是共享内存概念不同fork/core之间的内存概念如果另一个函数在回调中怎么办?@DonWarren-那么调用它的函数在另一个函数运行时无法运行。