gpt4 book ai didi

javascript - 通过 Websocket 同步任意两个 Javascript 对象

转载 作者:行者123 更新时间:2023-12-05 07:59:12 24 4
gpt4 key购买 nike

是否有 Javascript 库或模式可以通过 Websocket 连接同步任意两个对象?

我所说的同步是指将对象的每个属性复制到远程,并且当对象的任何属性在任一端发生变化时,“更新”被复制到“过时”的。就像任何其他“双向同步”一样。

当然,它应该能够透明地处理不断变化的带宽,并且还应该能够在网络连接正常时进行同步,即使上次同步操作失败(网络连接丢失或其他原因)也是如此。

最佳答案

这可以递归地将属性从一个对象附加到另一个对象,如下所示:

jQuery.extend(true, destinationObject, sourceObject)

如果更改可能还包括删除,则需要树差异算法。如果您搜索它们,应该有可用的 JavaScript 实现。

如果您的对象是“扁平的”,您可以执行 jQuery.extend(destinationObject, sourceObject)。 underscoreJS 也值得一看,它具有 uniondifferenceintersection 等功能。

websocket 的实现应该不会特别复杂。只需定义 setter ,并可能添加超时,因此自上次上传前的更改后需要经过 x 秒。

关于javascript - 通过 Websocket 同步任意两个 Javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22288460/

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