实时非事件编程
realtime with non-event programming
我目前正在尝试使用crossrider制作一个浏览器插件,该插件将同步书签,但由于没有"打开新书签"事件,我如何将所有上传的新书签同步到服务器,并实时更新其他连接机器上的书签列表?我倾向于用websocket来做这件事,但正如我所说,它不是基于事件的。那么我是否每n秒轮询一次所有客户端?这看起来像是移动了很多数据,对服务器来说似乎很费力,因为这个过程可能包括:首先每隔n秒请求所有客户端的书签,然后将它们与记录的bookmars客户端列表进行比较,如果匹配,则更新客户端浏览器的书签。简而言之,这个难题的最佳解决方案是什么?
考虑到您描述的场景,我认为轮询是最好的解决方案。
如果我正确理解了扩展的意图,我会做的一件不同的事情是如何比较书签。在您的解决方案中,您提到将书签数据发送到服务器,进行比较,然后将数据发送回客户端以更新浏览器书签。
我认为一个更好、更高效的解决方案是比较客户端上的书签,并将新书签发送到服务器。您可以存储书签的快照,以便在使用我们的本地数据库appAPI.db.async API和appAPI.request API将新书签发送到您的服务器进行比较时使用。
我们Crossrider将为您解决任何问题。因此,如果您需要任何帮助,请随时联系我们的支持(support@crossrider.com)。
免责声明:我是Crossrider的员工。
相关文章:
- 当以编程方式更改输入值时,不会执行更改时事件
- 在带有 标记的树节点上以编程方式触发单击事件
- 通过它查询谷歌地图上已经存在的标记's的lat和long,并以编程方式在其上触发一个单击事件
- onChange事件在以编程方式加载后未正确触发
- 以编程方式模糊 EXTJS 3.2.1 中的组合框控件不会触发“模糊”事件
- 以编程方式在聚合物输入上触发 onchange 事件
- 以编程方式触发 Coldfusion 中的事件
- 有没有办法确定 JS 事件是以编程方式还是通过实际交互触发的
- 以编程方式创建的 Dijit.Editor 中的 onchange 事件
- 如果在以编程方式更改值之前更改了值,则手动更改值不会触发 onChange 事件
- 是否可以以编程方式触发点击/拖动事件以启动轮播移动
- 如何在没有 jQuery 的情况下以编程方式触发“输入”事件
- 事件驱动编程 - node.js,Java
- 以编程方式(取消)注册到 Angular 2 的事件
- 以编程方式在卸载事件之前查询触发器
- 如何以编程方式为 google.maps.places.SearchBox 调用输入按下的事件
- 如果以编程方式启动提交,则不会触发提交事件
- 如何在 ionic 中以编程方式触发双击事件
- Javascript-以编程方式触发任何浏览器的checkBox的onChange事件
- 以编程方式激发客户端事件