[發明專利]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.szxzyx.cn/pat/books/202011192028.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于單片機的待機控制電路及用電設備
- 下一篇:電子設備及控制方法





