gpt4 book ai didi

javascript - Node js可以在for循环期间通过外部函数修改数组吗?

转载 作者:太空宇宙 更新时间:2023-11-04 03:30:47 24 4
gpt4 key购买 nike

假设我的程序当前处于 for 循环中,但由于某种原因它花费的时间太长。可以说,不知何故,算法太慢了,循环遍历数组中的 100 个元素大约需要 500 毫秒。

当程序位于数组内部时,可能正在处理编号为 50 的元素,我是否有可能从网络收到传入命令,告诉我添加更多元素或从数组中删除元素?

一个实际的例子是匹配队列服务器。每次用户加入时,服务器都会通过调用函数来尝试尽可能最佳地匹配玩家,但队列中尚未被该函数“联系到”的玩家可能会简单地离开并退出。这会以某种方式破坏 for 循环搜索吗?

摘要:我有一个想要循环的数组,它可以在外部函数引起的 for 循环期间更改(添加/删除)其元素吗?或者在程序完成 for 循环后会调用这些函数吗? (就像在执行查询时锁定数据库以防止出现这些相同的问题一样)

最佳答案

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

如果您收到一个事件,表明应将某个项目添加到数组中,则该事件的事件处理程序在当前运行的函数完成之前无法触发。

关于javascript - Node js可以在for循环期间通过外部函数修改数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38262682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com