我需要推动'在执行多次移位的同时将数据连续传输到阵列在函数中每3-5秒对Elasticsearch进行批量写入的操作。我已经看到大量的文档解释了这些操作,但没有关于它们在同时执行时的时间安排。如果我试图推动'会发生什么?并且'转移'同时?有没有更好的方法呢?
我使用Sitepoint和以下链接获取我的信息:
答案 0 :(得分:0)
你可以像这样一起做:
arr.push(arr.shift())
答案 1 :(得分:0)
JS是单线程的,正如前面提到的那样,即使你有两个单独的基于计时器的操作,也不能同时执行push()和shift()(或任何其他操作) 。如果你有两个异步进程在同一个数组中添加和删除项目,我认为你唯一需要担心的是删除项目的代码需要测试数组是否为空。 - 由用户'nnnnnn'提供。
所以,我需要'尝试'shift()和push()直到它们成功而没有错误。