[发明专利]嵌套函数转换为异步函数的方法、装置、设备及存储介质在审
申请号: | 202011620067.7 | 申请日: | 2020-12-30 |
公开(公告)号: | CN112685042A | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 黄康 | 申请(专利权)人: | 平安普惠企业管理有限公司 |
主分类号: | G06F8/40 | 分类号: | G06F8/40 |
代理公司: | 深圳众鼎专利商标代理事务所(普通合伙) 44325 | 代理人: | 谭果林 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌套 函数 转换 异步 方法 装置 设备 存储 介质 | ||
本发明公开了一种嵌套函数转换为异步函数的方法、装置、设备及存储介质。本发明所提出的方法,接收设置文件,通过执行设置文件中的命令,检索当前项目是否包含转译代码库,若当前项目不包含转译代码库,则安装转译代码库,并定位出当前项目中采用Promise写法的代码,判断Promise写法的代码是否含有嵌套函数代码块,若Promise写法的代码含有嵌套函数代码块,则将嵌套函数代码块封装成Promise对象函数代码块,将Promise对象函数代码块,转译成自执行的异步函数代码块,当所述自执行的异步函数代码块生成时,将所述嵌套函数代码块从所述Promise写法的代码中删除,并在所述嵌套函数代码块删除的位置添加所述异步函数代码块。实现了自动转换,提高了转换的可靠性和适配性。
技术领域
本发明涉及开发领域,尤其涉及一种嵌套函数转换为异步函数的方法、装置、设备及存储介质。
背景技术
在前端行业内,对于异步回调函数的处理经历了以下三个阶段:
原始阶段,异步回调函数直接写在函数内,如果异步回调函数内还有异步回调函数,只能一层一层嵌套,导致代码层级非常复杂,难以阅读和再进行维护开发。进阶阶段,ES6语法提供了多层嵌套函数Promise写法,Promise将下一阶段的异步回调函数通过then写法,进行链式调用,很好的解决了函数深层嵌套的问题,增强了代码的可阅读性,但是对于回调函数较多的场景,异步操作的链式结构就会变得很长很长,可阅读性和可维护性会直接大打折扣。终极阶段,ES7语法提供了async函数(又叫异步函数),一次性解决了前两个阶段的问题。采用了同步写法进行异步函数操作。代码的可阅读性和可维护性都得到了很大的提升。
目前,大部分项目使用ES6语法的多层嵌套函数Promise写法,还没有用上异步函数写法,此时,项目在异步函数写法的环境中不能正常运行,为了使该项目能够兼容异步函数写法的环境,需要对项目进行改造,在现有技术中,通过手动梳理代码,将代码结构和语法进行调整,并且导入支持ES7异步函数的转译代码库,对项目进行人为转换。
经本人研究发现,在现有技术中,存在以下几个方面的不足:
1、整个转换过程比较繁琐,人为转换很容易出现错误导致转换不易成功,可靠性较低。
2、转译代码库随时都有可能更新,需要人为手动的重新导入。
3、另外,人工转换成功后,如果在某一情况下,不需要用到异步函数写法或者使用异步函数写法会影响该项目的正常运行时,只能手动复原到原有的多层嵌套函数Promise写法,而当再次需要转换时,又得重新进行手动梳理代码,将代码结构和语法进行调整,适配性很差。
针对现有技术中存在的不足,本发明提供一种将Promise写法的代码中的嵌套函数自动转换为异步函数的方法。
发明内容
基于此,有必要针对上述技术不足,提供一种嵌套函数转换为异步函数的方法、装置、设备及存储介质。
一种嵌套函数转换为异步函数的方法,包括:
接收设置文件,通过执行所述设置文件中的命令,检索当前项目是否包含转译代码库;
若所述当前项目不包含转译代码库,则安装所述转译代码库,并定位出当前项目中采用Promise写法的代码,判断所述Promise写法的代码是否含有嵌套函数代码块;
若所述Promise写法的代码含有所述嵌套函数代码块,则将所述嵌套函数代码块封装成Promise对象函数代码块;
将所述Promise对象函数代码块,转译成自执行的异步函数代码块;
当所述自执行的异步函数代码块生成时,将所述嵌套函数代码块从所述Promise写法的代码中删除,并在所述嵌套函数代码块删除的位置添加所述异步函数代码块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安普惠企业管理有限公司,未经平安普惠企业管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011620067.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有调节功能的摆闸
- 下一篇:氢燃料电池汽车辅助能源智能充电装置及方法