Meteor:延迟补偿

所谓延迟补偿,即在前端执行某项数据变更业务之后,不等后端返回执行结果,前端先行模拟执行,以尽快呈现结果给用户。如果服务端返回执行成功,则前端不需要进行任何变更渲染。如果服务端返回执行失败,则前端根据后端返回信息进行修正渲染。

延迟补偿得以实现的基础,是前后端数据协作机制。具体来说,原本整个数据变更流程是:前端method调用->后端method执行->后端执行模型操作->后端pub刷新->前端sub刷新->前端reactive渲染刷新,但是,meteor应用可以对后端method提供前端版本,并在前端版本的method中进行数据操作以进行延迟补偿。通常,这些操作与后端操作是一致的。前端在进行method调用后,不等后端反馈调用结果,立刻对前端数据副本进行模拟数据操作,以数据尽快将变化反应到前端渲染上。而当后端反馈method调用结果之后,如果数据变更与前端模拟一致,则前端不需要再进行任何渲染刷新。如果返回结果与前端模拟不同,则前端再根据正确的数据进行一次修正渲染。

posted @ 2015-09-03 23:14  我不是照耀  阅读(328)  评论(0编辑  收藏  举报