[发明专利]移动应用中js异步调用native的方法在审
申请号: | 201610035285.1 | 申请日: | 2016-01-19 |
公开(公告)号: | CN105739967A | 公开(公告)日: | 2016-07-06 |
发明(设计)人: | 胡伟 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 成都虹桥专利事务所(普通合伙) 51124 | 代理人: | 李凌峰 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 移动 应用 js 异步 调用 native 方法 | ||
技术领域
本发明涉及移动应用开发,特别涉及移动应用开发中使用HTML5+Android/IOS原生功能(native功能)进行混合开发模式。
背景技术
目前,移动应用开发领域主要使用Android和IOS等技术,同一个app应用需要开发Android版本和IOS版本,但HTML5的出现,使得跨平台的开发技术开始盛行,HTML5+原生(native)的混合开发模式得到了广泛关注。而在使用混合开发模式时,js异步调用native是通过native回调js的回调函数来传递结果的,如图1所示,这就需要每个js函数提供明确的回调函数。而不同的js函数,其回调函数的功能千差万别,如果直接将回调函数传到native端,会导致native段代码变得非常复杂,难以复用和维护,而且大多数js框架及开发者习惯将回调函数定义为匿名函数,导致native端调用js回调函数的代码难以实现,如图2所示。这就需要一种机制来解决这类问题,以保证js即使使用匿名回调函数也能正确实现异步调用native方法。
发明内容
本发明所要解决的技术问题,就是提供一种移动应用中js异步调用native的方法以实现native端回调js回调函数的代码简单统一化。
本发明解决所述技术问题,采用的技术方案是,移动应用中js异步调用native的方法,包括以下步骤:
步骤1、js端缓存回调函数,并建立公共回调函数,所述公共回调函数包括缓存回调函数与其对应标识之间的映射关系;
步骤2、js端将标示传给native端;
步骤3、native端接收传入的标识,在执行完业务逻辑后回调公共回调函数;
步骤4、公共回调函数根据传回的标识及映射关系,获得对应的缓存回调函数,native端调用该对应的缓存回调函数,完成回调。
具体的,还包括以下步骤:
步骤5、完成回调后,js端根据所有标识清理掉对应的缓存回调函数。
进一步的,js端建立Map类型变量,用于缓存回调函数,还用于根据接收到的标识获得或清理标识对应的缓存回调函数。
具体的,所述步骤1中,回调函数至少为一个,并与标识一一对应。
具体的,所述步骤1中,公共回调函数的参数格式为json字符。
具体的,所述步骤4中,native端采用业务逻辑执行结果数据作为参数,调用对应的缓存回调函数,完成回调。
本发明的有益效果是:js端与native端约定在异步调用过程中,js的函数需要将其回调函数存放到map数据结构中,并将其对应的标识传给native的方法中,native方法接收传入的标示,在执行完业务逻辑后回调js的公共回调函数,并返回标示和执行的结果,该公共函数根据标示找到具体之前存放的回调函数,并以native返回的结果执行;
本发明中并不直接传给native其回调函数或其回调函数名称,而是根据某种机制,如:根据时间戳、模块名称、方法名称、成功回调或失败回调等因素生成标识值(key值),或使用uuid作为key值,生成一个key值,将回调函数按该key值存放到map数据结构中,并将该key值传给native方法;实现了让native端回调js回调函数的代码简单统一化。
附图说明
图1为本发明移动应用中js异步调用native的方法背景技术中js异步调用native功能的普通形式;
图2为本发明移动应用中js异步调用native的方法背景技术中js异步调用native功能时使用匿名回调函数导致native无法调到回调函数形式;
图3为本发明移动应用中js异步调用native的方法实施例中js异步并发调用native方法的解决方案图。
以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。
具体实施方式
下面结合附图及实施例详细描述本发明的技术方案:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610035285.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据映射为自定义类对象的方法和装置
- 下一篇:制动器压力调整机构