Rest SPA应用程序、服务器同步、最佳实践
我正在Angularjs中开发一个SPA应用程序,将数据加载到我的数据库中 我有一个Django后端,tastypie提供了一个REST接口 我试图填充一个flowcell对象,它由8个车道元素组成。每个通道可能包含多个库(例如平均5或6个库) 因此,当我向一个lane对象添加一个新的库时,我将详细信息发布到服务器,然后使用GET请求刷新lane的库列表,并且显示刷新 这可确保服务器数据和显示数据同步。但是,在每个通道与服务器联系并刷新自身时,它确实会增加延迟 因此,是否认为在客户端的每个通道中添加一些库,然后一起更新它们更好?这将提供更流畅的用户体验,但显示可能无法准确反映数据库中的内容?(我可以想象,如果两者太不同步,这可能会导致错误)Rest SPA应用程序、服务器同步、最佳实践,rest,angularjs,single-page-application,synchronisation,Rest,Angularjs,Single Page Application,Synchronisation,我正在Angularjs中开发一个SPA应用程序,将数据加载到我的数据库中 我有一个Django后端,tastypie提供了一个REST接口 我试图填充一个flowcell对象,它由8个车道元素组成。每个通道可能包含多个库(例如平均5或6个库) 因此,当我向一个lane对象添加一个新的库时,我将详细信息发布到服务器,然后使用GET请求刷新lane的库列表,并且显示刷新 这可确保服务器数据和显示数据同步。但是,在每个通道与服务器联系并刷新自身时,它确实会增加延迟 因此,是否认为在客户端的每个通道中
还是认为我现在所做的更好—更新多个小更改,向服务器发送更多请求,但确保客户端和服务器之间的数据一致?我认为您的做法是正确的。在更新中采用更细粒度的方法会更好 首先,它将为客户创造更少延迟的感觉。如果更改很小,并且在元素更改时触发,除非网络非常慢,否则每个更改都应该很快,并且客户端几乎无法检测到
我想说的唯一一件事是,在发布更改的数据后,您可能不需要再做一次GET。除非这是跨多个用户和会话的某种类型的共享数据模型,否则如果客户机进行更新并且帖子通过,客户机将持有正确的数据集,因此不需要额外的GET。是否有多个人同时编辑lanes数据?换句话说,即使用户没有在客户机上对服务器数据进行变异,服务器数据是否会失去同步?
Flowcell
Lane 1
library 1
library 2
library 3
Lane 2
library 5
Lane 3
library 6
library 7
etc.....