[发明专利]Lua语言的异步处理方法、装置、计算机设备和存储介质在审
申请号: | 202011192028.1 | 申请日: | 2020-10-30 |
公开(公告)号: | CN112286595A | 公开(公告)日: | 2021-01-29 |
发明(设计)人: | 魏巍 | 申请(专利权)人: | 深圳市九九互动科技有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 邓云鹏 |
地址: | 518051 广东省深圳市南山区粤海街道*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | lua 语言 异步 处理 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及一种Lua语言的异步处理方法、装置、计算机设备和存储介质。所述方法包括:通过在主线程获取到业务数据并产生异步请求,根据产生的异步请求启动协程,同时由协程将业务数据上传至服务器,并在服务器进行处理,当服务器对业务数据处理结束后,协程会接收到服务器返回的业务数据处理结果,主线程采用封装的异步回调函数将协程中接收到的处理结果回调至主线程,主线程根据该结果对业务数据进行更新。上述操作实现了在业务需要进行异步处理时,通过协程处理异步操作,主线程调用异步操作的处理结果,主线程不会陷入臃肿的回调中,降低了维护成本,并且提升了整体代码的可读性,降低了运行中的bug率,更加方便业务的开发。
技术领域
本申请涉及互联网技术领域,特别是涉及一种Lua语言的异步处理方法、装置、计算机设备和存储介质。
背景技术
Lua语言是一个小巧的脚本语言,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译和运行。
随着互联网程序技术的发展,出现了异步处理技术,异步处理是按照不同步的方式进行程序处理,传统的异步处理方式有回调、事件监听,都是将回调方法索引传入异步处理中,当异步处理结束后,调用传入的回调方法。
然而,传统技术中,针对Lua语言的异步处理方法没有广泛的实现,而且在多个异步回调串联时,代码会陷入臃肿回调代码中,增加了后期维护成本。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低维护成本的Lua语言的异步处理方法、装置、计算机设备和存储介质。
一种Lua语言的异步处理方法,所述方法包括:
主线程获取业务数据中产生的异步请求;
所述主线程根据所述异步请求启动协程,并由协程将所述业务数据上传至服务器;
所述协程接收所述服务器返回的对所述业务数据的处理结果;
所述主线程调用封装的异步回调函数从所述协程中回调所述处理结果,并根据所述处理结果更新所述业务数据。
在其中一个实施例中,封装的异步回调函数采用帧回调函数,该帧回调函数中包含帧循环,该帧循环通过在主线程中按照预设时间间隔循环执行预设代码片段而实现。
在其中一个实施例中,主线程调用封装的异步回调函数从协程中回调所述处理结果,包括:
在所述协程执行异步操作接收处理结果之后,主线程调用帧回调函数,利用帧回调函数中的帧循环检查promise状态,根据检测的所述Prmise状态从所述协程中回调所述处理结果。
在其中一个实施例中,执行预设代码片段包括:
检查promise状态;
调用promise链式回调;
当promise状态为完成状态时,调用promise链式回调,将异步操作的处理结果作为参数进行传递;
当promise状态为拒绝状态时,调用promise链式回调,将异步操作产生的错误作为参数进行传递,并删除异步操作中被取消的异步错误。
在其中一个实施例中,删除异步操作中被取消的异步错误包括:
通过cancel接口删除异步操作中被取消的异步错误。
在其中一个实施例中,该方法还包括;
在所述协程向所述服务器发送请求后,暂停协程,在所述服务器返回的对所述业务数据的处理结果之后,继续协程。
在其中一个实施例中,该方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市九九互动科技有限公司,未经深圳市九九互动科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011192028.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于单片机的待机控制电路及用电设备
- 下一篇:电子设备及控制方法