【技术实现步骤摘要】
基于WebWorker实现消息通信的方法以及装置
本申请涉及JavaScript
,具体涉及一种基于WebWorker实现消息通信的方法。本申请同时涉及一种基于WebWorker实现消息通信的装置,另一种基于WebWorker实现消息通信的方法以及装置,以及两种电子设备。
技术介绍
JavaScript是一种在Web应用开发中广泛使用的直译式脚本语言,可以实现在HTML页面嵌入动态文本、对浏览器事件做出响应、对即将提交到服务器的数据进行验证以及对访客信息进行检测等功能。众所周知,传统页面中(HTML5之前)的JavaScript的运行都是以单线程的方式工作的,虽然有多种方式实现了对多线程的模拟(例如,JavaScript中的setinterval方法、setTimeout方法),但是其在本质上仍然是由JavaScript以单线程调度的方式进行的。为了解决JavaScript运行的单线程问题,WebWorker作为HTML5标准的一部分应运而生,WebWorker的本质是可以在同一时间建立多个JavaScript线程,其基本原理就是在当前JavaScript主线程中使用Worker类加载一个JavaScript文件创建一个新的线程,起到互不阻塞执行的效果,并且提供主线程和新线程之间数据交换的接口。随着HTML5标准的确立和普及,WebWorker的使用也越来越广,越来越多的浏览器开始支持WebWorker。但由于WebWorker采用的是比较基础的消息通讯机制,这就给使用者的编码工作增加了难度。目前JavaScript线程与WebWorker之间的通讯 ...
【技术保护点】
一种基于Web Worker实现消息通信的方法,其特征在于,包括:接收调用方发送的调用指令;确定预先初始化的Web Worker中用于处理所述调用指令对应数据处理类型的Web Worker;基于所述调用指令生成其对应的携带标识信息的数据请求,并向所述确定的Web Worker发送所述携带标识信息的数据请求;接收所述确定的Web Worker发送的携带标识信息的数据响应;根据所述数据响应携带的标识信息确定其对应的调用方,并向所述确定的调用方发送所述数据响应中包含的数据处理结果。
【技术特征摘要】
1.一种基于WebWorker实现消息通信的方法,其特征在于,包括:接收调用方发送的调用指令;确定预先初始化的WebWorker中用于处理所述调用指令对应数据处理类型的WebWorker;基于所述调用指令生成其对应的携带标识信息的数据请求,并向所述确定的WebWorker发送所述携带标识信息的数据请求;接收所述确定的WebWorker发送的携带标识信息的数据响应;根据所述数据响应携带的标识信息确定其对应的调用方,并向所述确定的调用方发送所述数据响应中包含的数据处理结果。2.根据权利要求1所述的基于WebWorker实现消息通信的方法,其特征在于,所述基于所述调用指令生成其对应的携带标识信息的数据请求,并向所述确定的WebWorker发送所述携带标识信息的数据请求步骤执行后,且所述根据所述数据响应携带的标识信息确定其对应的调用方,并向所述确定的调用方发送所述数据响应中包含的数据处理结果步骤执行前,执行下述步骤:将所述调用方与所述标识信息的对应关系记录到预先设置的标识信息与调用方映射关系中。3.根据权利要求2所述的基于WebWorker实现消息通信的方法,其特征在于,所述根据所述数据响应携带的标识信息确定其对应的调用方,并向所述确定的调用方发送所述数据响应中包含的数据处理结果步骤执行之后,执行下述步骤:在所述标识信息与调用方映射关系中删除所述调用方与所述标识信息的对应关系。4.根据权利要求1所述的基于WebWorker实现消息通信的方法,其特征在于,所述接收调用方发送的调用指令步骤执行前,执行下述步骤:存储所述预先初始化的WebWorker的配置信息;其中,所述配置信息包括:预先初始化的WebWorker的数据处理类型。5.根据权利要求4所述的基于WebWorker实现消息通信的方法,其特征在于,所述确定预先初始化的WebWorker中用于处理所述调用指令对应数据处理类型的WebWorker,采用如下方式实现:根据所述调用指令中包含的数据处理类型,以及预先存储的所述WebWorker的数据处理类型,从预先存储的所述WebWorker当中选择数据处理类型与所述调用指令中包含的数据处理类型相同的一个或者多个WebWorker,作为用于处理所述调用指令对应数据处理类型的WebWorker。6.根据权利要求5所述的基于WebWorker实现消息通信的方法,其特征在于,所述并向所述确定的WebWorker发送所述携带标识信息的数据请求,采用如下方式实现:分别向确定的每一个WebWorker发送所述携带有标识信息的数据请求。7.根据权利要求6所述的基于WebWorker实现消息通信的方法,其特征在于,所述接收所述确定的WebWorker发送的携带标识信息的数据响应,采用如下方式实现:分别接收所述确定的每一个WebWorker发送的所述携带有标识信息的数据响应。8.根据权利要求1所述的基于WebWorker实现消息通信的方法,其特征在于,所述调用指令当中包含所述调用方发送的待处理数据;相应的,所述基于所述调用指令生成其对应的携带标识信息的数据请求,采用如下方式实现:获取所述调用指令中包含的待处理数据,以及接收到所述调用指令时的标识信息,并基于所述待处理数据和所述标识信息生成所述调用指令对应的携带标识信息的数据请求。9.根据权利要求8所述的基于WebWorker实现消息通信的方法,其特征在于,所述标识信息包括:依据时间戳生成的标识或者时间戳。10.一种基于WebWorker实现消息通信的装置,其特征在于,包括:调用指令接收单元,用于接收调用方发送的调用指令;WebWorker确定单元,用于确定预先初始化的WebWorker中用于处理所述调用指令对应数据处理类型的WebWorker;数...
【专利技术属性】
技术研发人员:朱佳墩,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。