异步渲染模块的同步方法及系统技术方案

技术编号:15955921 阅读:88 留言:0更新日期:2017-08-08 09:55
本发明专利技术提供一种异步渲染模块的同步方法及系统,该方法包括:监控模块监听当前界面中的第一视图的事件;在接收到第一视图发送的携带第一数据的事件时,调整自身的状态参数,并将第一数据保存到自身的数据变量中;判断此时调整后的状态参数是否为预设最大值、及数据变量中是否保存有数据;若此时调整后的状态参数为预设最大值、且数据变量中保存有数据,则将数据变量中保存的第一数据发送至当前界面中的第二视图,以使第二视图根据第一数据渲染其子视图,并在第二视图对其子视图渲染完成之后,将状态参数重置为初始值。该方法能解决异步渲染模块的同步问题,保证执行特定操作的时候,所有异步模块都渲染完成,且所有数据都准备妥当。

【技术实现步骤摘要】
异步渲染模块的同步方法及系统
本专利技术涉及计算机
,尤其涉及一种异步渲染模块的同步方法及系统。
技术介绍
目前,在前端模型-视图-控制器(ModelViewController,简称MVC)模型的渲染中,如图1所示,第一视图(ViewA)渲染完成后,需要把自己的数据发送事件给第二视图(ViewB),ViewB监听此事件,然后用ViewA的数据来渲染其子视图(SubView)。但是,由于ViewA和ViewB是异步渲染模块,各自独立请求服务器,数据返回的时间依赖网络,所以ViewA和ViewB渲染完成的先后顺序不能保证。比如,当ViewA向ViewB发送事件的时候,ViewB很可能还在请求数据,没有渲染完成,也就是说ViewB没有注册与ViewA相应的事件,这样,整个的页面交互逻辑就失败了。鉴于此,如何解决异步渲染模块的同步问题,以保证执行特定操作的时候,所有异步模块都渲染完成,且所有数据都准备妥当成为目前需要解决的技术问题。
技术实现思路
为解决上述的技术问题,本专利技术提供一种异步渲染模块的同步方法及系统,能够解决异步渲染模块的同步问题,保证执行特定操作的时候,所有异步模块都渲染完成,且所有数据都准备妥当。第一方面,本专利技术提供一种异步渲染模块的同步方法,包括:监控模块监听当前界面中的第一视图的事件;在接收到所述第一视图发送的携带第一数据的事件时,调整自身的状态参数,并将所述第一数据保存到自身的数据变量中;判断此时调整后的状态参数是否为预设最大值、及所述数据变量中是否保存有数据;若此时调整后的状态参数为预设最大值、且所述数据变量中保存有数据,则将数据变量中保存的所述第一数据发送至当前界面中的第二视图,以使所述第二视图根据所述第一数据渲染其子视图,并在所述第二视图对其子视图渲染完成之后,将所述状态参数重置为初始值。优选地,所述方法还包括:监控模块监听当前界面中的第二视图的事件;在接收到所述第二视图发送的事件时,调整自身的状态参数;判断此时调整后的状态参数是否为预设最大值、及所述数据变量中是否保存有数据;若此时调整后的状态参数为预设最大值、且所述数据变量中保存有数据,则将数据变量中保存的所述第一数据发送至第二视图,以使所述第二视图根据所述第一数据渲染其子视图,并在所述第二视图对其子视图渲染完成之后,将所述状态参数重置为初始值。优选地,所述预设最大值为所述监控模块在接收到所述第一视图发送的携带第一数据的事件时调整自身的状态参数和在接收到所述第二视图发送的事件时调整自身的状态参数之后,所述状态参数的值。优选地,在监控模块接收到第一视图发送的携带第一数据的事件之前,所述方法还包括:当前界面中的第一视图通过自己的数据仓库store,向服务器发送第一数据请求;接收所述服务器根据所述第一数据请求返回的第一数据;根据所述第一数据对自身进行渲染,并将携带所述第一数据的事件发送至监控模块。优选地,所述在接收到所述第一视图发送的携带第一数据的事件时,调整自身的状态参数,包括:在接收到所述第一视图发送的携带第一数据的事件时,若自身的状态参数为初始值,则将所述状态参数增加预设值变为第一预设值,若所述状态参数为所述第一预设值,则将所述状态参数增加预设值变为预设最大值。优选地,在监控模块接收到第二视图发送的事件之前,所述方法还包括:当前界面中的第二视图通过自己的数据仓库store,向服务器发送第二数据请求;接收所述服务器根据所述第二数据请求返回的第二数据;根据所述第二数据对自身进行渲染,并发送事件至监控模块。优选地,所述在接收到所述第二视图发送的事件时,调整自身的状态参数,包括:在接收到所述第二视图发送的事件时,若自身的状态参数为初始值,则将所述状态参数增加预设值变为第一预设值,若所述状态参数为所述第一预设值,则将所述状态参数增加预设值变为预设最大值。第二方面,本专利技术提供一种异步渲染模块的同步系统,包括:监控模块、当前界面中的第一视图和当前界面中的第二视图;所述监控模块,包括:第一监听单元、第一调整单元、第一判断单元和第一发送单元;所述第一监听单元,用于监听当前界面中的第一视图的事件;所述第一调整单元,用于在接收到所述第一视图发送的携带第一数据的事件时,调整自身的状态参数,并将所述第一数据保存到自身的数据变量中;所述第一判断单元,用于判断此时调整后的状态参数是否为预设最大值、及所述数据变量中是否保存有数据;所述第一发送单元,用于若此时调整后的状态参数为预设最大值、且所述数据变量中保存有数据,则将数据变量中保存的所述第一数据发送至当前界面中的第二视图,以使所述第二视图根据所述第一数据渲染其子视图,并在所述第二视图对其子视图渲染完成之后,将所述状态参数重置为初始值。优选地,所述监控模块,还包括:第二监听单元、第二调整单元、第二判断单元和第二发送单元;第二监听单元,用于监听当前界面中的第二视图的事件;第二调整单元,用于在接收到所述第二视图发送的事件时,调整自身的状态参数;第二判断单元,用于判断此时调整后的状态参数是否为预设最大值、及所述数据变量中是否保存有数据;第二发送单元,用于若此时调整后的状态参数为预设最大值、且所述数据变量中保存有数据,则将数据变量中保存的所述第一数据发送至第二视图,以使所述第二视图根据所述第一数据渲染其子视图,并在所述第二视图对其子视图渲染完成之后,将所述状态参数重置为初始值。优选地,所述预设最大值为所述监控模块在接收到所述第一视图发送的携带第一数据的事件时调整自身的状态参数和在接收到所述第二视图发送的事件时调整自身的状态参数之后,所述状态参数的值。优选地,所述系统还包括:服务器;所述第一视图,用于通过自己的数据仓库store,向服务器发送第一数据请求;接收所述服务器根据所述第一数据请求返回的第一数据;根据所述第一数据对自身进行渲染,并将携带所述第一数据的事件发送至监控模块。优选地,所述第一调整单元,具体用于在接收到所述第一视图发送的携带第一数据的事件时,若自身的状态参数为初始值,则将所述状态参数增加预设值变为第一预设值,并将所述第一数据保存到自身的数据变量中,若所述状态参数为所述第一预设值,则将所述状态参数增加预设值变为预设最大值,并将所述第一数据保存到自身的数据变量中。优选地,所述系统还包括:服务器;所述第二视图,用于通过自己的数据仓库store,向服务器发送第二数据请求;接收所述服务器根据所述第二数据请求返回的第二数据;根据所述第二数据对自身进行渲染,并发送事件至监控模块。优选地,所述第二调整单元,具体用于在接收到所述第二视图发送的事件时,若自身的状态参数为初始值,则将所述状态参数增加预设值变为第一预设值,若所述状态参数为所述第一预设值,则将所述状态参数增加预设值变为预设最大值。由上述技术方案可知,本专利技术的异步渲染模块的同步方法及系统,能够解决异步渲染模块的同步问题,保证执行特定操作的时候,所有异步模块都渲染完成,且所有数据都准备妥当。附图说明为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。图1是本文档来自技高网...

【技术保护点】
一种异步渲染模块的同步方法,其特征在于,包括:监控模块监听当前界面中的第一视图的事件;在接收到所述第一视图发送的携带第一数据的事件时,调整自身的状态参数,并将所述第一数据保存到自身的数据变量中;判断此时调整后的状态参数是否为预设最大值、及所述数据变量中是否保存有数据;若此时调整后的状态参数为预设最大值、且所述数据变量中保存有数据,则将数据变量中保存的所述第一数据发送至当前界面中的第二视图,以使所述第二视图根据所述第一数据渲染其子视图,并在所述第二视图对其子视图渲染完成之后,将所述状态参数重置为初始值。

【技术特征摘要】
1.一种异步渲染模块的同步方法,其特征在于,包括:监控模块监听当前界面中的第一视图的事件;在接收到所述第一视图发送的携带第一数据的事件时,调整自身的状态参数,并将所述第一数据保存到自身的数据变量中;判断此时调整后的状态参数是否为预设最大值、及所述数据变量中是否保存有数据;若此时调整后的状态参数为预设最大值、且所述数据变量中保存有数据,则将数据变量中保存的所述第一数据发送至当前界面中的第二视图,以使所述第二视图根据所述第一数据渲染其子视图,并在所述第二视图对其子视图渲染完成之后,将所述状态参数重置为初始值。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:监控模块监听当前界面中的第二视图的事件;在接收到所述第二视图发送的事件时,调整自身的状态参数;判断此时调整后的状态参数是否为预设最大值、及所述数据变量中是否保存有数据;若此时调整后的状态参数为预设最大值、且所述数据变量中保存有数据,则将数据变量中保存的所述第一数据发送至第二视图,以使所述第二视图根据所述第一数据渲染其子视图,并在所述第二视图对其子视图渲染完成之后,将所述状态参数重置为初始值。3.根据权利要求2所述的方法,其特征在于,所述预设最大值为所述监控模块在接收到所述第一视图发送的携带第一数据的事件时调整自身的状态参数和在接收到所述第二视图发送的事件时调整自身的状态参数之后,所述状态参数的值。4.根据权利要求1所述的方法,其特征在于,在监控模块接收到第一视图发送的携带第一数据的事件之前,所述方法还包括:当前界面中的第一视图通过自己的数据仓库store,向服务器发送第一数据请求;接收所述服务器根据所述第一数据请求返回的第一数据;根据所述第一数据对自身进行渲染,并将携带所述第一数据的事件发送至监控模块。5.根据权利要求1所述的方法,其特征在于,所述在接收到所述第一视图发送的携带第一数据的事件时,调整自身的状态参数,包括:在接收到所述第一视图发送的携带第一数据的事件时,若自身的状态参数为初始值,则将所述状态参数增加预设值变为第一预设值,若所述状态参数为所述第一预设值,则将所述状态参数增加预设值变为预设最大值。6.根据权利要求2所述的方法,其特征在于,在监控模块接收到第二视图发送的事件之前,所述方法还包括:当前界面中的第二视图通过自己的数据仓库store,向服务器发送第二数据请求;接收所述服务器根据所述第二数据请求返回的第二数据;根据所述第二数据对自身进行渲染,并发送事件至监控模块。7.根据权利要求2所述的方法,其特征在于,所述在接收到所述第二视图发送的事件时,调整自身的状态参数,包括:在接收到所述第二视图发送的事件时,若自身的状态参数为初始值,则将所述状态参数增加预设值变为第一预设值,若所述状态参数为所述第一预设值,则将所述状态参数增加预设值变为预设最大值。8.一种异步渲染模块的同步系统,其特征在于,包括:监控模块、当前界面中的第一视图和当前界面中的第二视图;所述监控模块,包括:第一监...

【专利技术属性】
技术研发人员:瞿宝明
申请(专利权)人:滴滴中国科技有限公司
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1