JS并发处理数组导致数据重复

时间:2019-04-16 10:30:23

标签: javascript arrays

业务有点像聊天软件。 有一个数组来保存联系人列表。 收到新消息时,有必要判断该消息的所有者不在联系人列表中,如果是,则将其设置为top,否则创建一个新消息。 现在的问题是,当同时接收到大量消息时,在判断和插入间隔进行判断,从而导致重复插入数据。

第一条消息到达后,输入方法并遍历数组...此时,第二条消息出现并进入方法,从而导致数据被重复插入。 感谢您的阅读。

我不知道。

主要代码逻辑:

getMessage() {
   for (...) {
   / / Traverse the array to determine if the contact exists

   // If found, delete at the original index, add at the new index
     contacts.splice(index, 1)
     contacts.splice(newindex, 0, item)
   // If not found, add at the index
     contacts.splice(newindex, 0, item)
   }

}

我想知道解决这个问题的正确方法。

0 个答案:

没有答案