我正在Angularjs中开发SPA应用程序以将数据加载到我的数据库中。
我有一个Django后端,tastypie提供REST接口。
我正在尝试填充一个由8个通道元素组成的流通池对象。每个泳道可能包含多个库(平均5个或6个)。
Flowcell
Lane 1
library 1
library 2
library 3
Lane 2
library 5
Lane 3
library 6
library 7
etc.....
因此,当我向一个lane对象添加一个新库时,我将详细信息发布到服务器,然后使用GET请求刷新通道的库列表,并且显示刷新。
这可确保同步服务器数据和显示数据。但是,它会在每个Lane与服务器联系并刷新自身时添加延迟。
因此,最好在客户端的每个通道中添加一些库,然后将它们一起更新 - 这将提供更流畅的用户体验,但显示可能无法准确反映数据库中的内容? (我可以想象,如果两者太过不同步,这可能会导致错误。)
或者做我目前正在做的事情被认为更好 - 更新多个小的更改,向服务器发送更多请求,但确保客户端和服务器之间的数据是否一致?
答案 0 :(得分:1)
我认为你走在正确的轨道上。在更新中采用更细粒度的方法会更好。
首先,它会给客户带来更少延迟的感觉。如果更改很小并且在更改元素时触发,除非网络非常慢,否则每次更改都应该快速且客户端几乎检测不到。
我唯一要说的是,在您更改数据的POST后,您可能不需要再执行另一个GET。除非这是跨越许多用户和会话的某种类型的共享数据模型,否则如果客户端进行更新并且POST通过,则客户端将保留正确的数据集,因此不需要额外的GET。