[發明專利]Lua語言的異步處理方法、裝置、計算機設備和存儲介質在審
| 申請號: | 202011192028.1 | 申請日: | 2020-10-30 |
| 公開(公告)號: | CN112286595A | 公開(公告)日: | 2021-01-29 |
| 發明(設計)人: | 魏巍 | 申請(專利權)人: | 深圳市九九互動科技有限公司 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司 44224 | 代理人: | 鄧云鵬 |
| 地址: | 518051 廣東省深圳市南山區粵海街道*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | lua 語言 異步 處理 方法 裝置 計算機 設備 存儲 介質 | ||
1.一種Lua語言的異步處理方法,其特征在于,所述方法包括:
主線程獲取業務數據中產生的異步請求;
所述主線程根據所述異步請求啟動協程,并由協程將所述業務數據上傳至服務器;
所述協程接收所述服務器返回的對所述業務數據的處理結果;
所述主線程調用封裝的異步回調函數從所述協程中回調所述處理結果,并根據所述處理結果更新所述業務數據。
2.根據權利要求1所述的方法,其特征在于,所述封裝的異步回調函數采用幀回調函數,所述幀回調函數中包含幀循環,所述幀循環通過在主線程中按照預設時間間隔循環執行預設代碼片段而實現。
3.根據權利要求2所述的方法,其特征在于,所述主線程調用封裝的異步回調函數從所述協程中回調所述處理結果,包括:
在所述協程執行異步操作接收所述處理結果之后,所述主線程調用所述幀回調函數,利用所述幀回調函數中的所述幀循環檢查promise狀態,根據檢測的所述promise狀態從所述協程中回調所述處理結果。
4.根據權利要求2所述的方法,其特征在于,所述執行預設代碼片段包括:
檢查promise狀態;
調用promise鏈式回調;
當所述promise狀態為完成狀態時,調用所述promise鏈式回調,將異步操作的處理結果作為參數進行傳遞;
當所述promise狀態為拒絕狀態時,調用所述promise鏈式回調,將異步操作產生的錯誤作為參數進行傳遞,并刪除所述異步操作中被取消的異步錯誤。
5.根據權利要求4所述的方法,其特征在于,所述刪除所述異步操作中被取消的異步錯誤包括:
通過cancel接口刪除所述異步操作中被取消的異步錯誤。
6.根據權利要求1所述的方法,其特征在于,所述方法還包括;
在所述協程向所述服務器發送請求后,暫停協程,在所述服務器返回的對所述業務數據的處理結果之后,繼續協程。
7.根據權利要求1所述的方法,其特征在于,所述方法還包括:
在檢測到主動中斷異步操作的情況下,中斷所述業務協程,并中斷該協程所有調用堆棧的協程。
8.一種Lua語言的異步處理裝置,其特征在于,所述裝置包括:
啟動模塊,用于主線程獲取業務數據中產生的異步請求;
請求模塊,用于所述主線程根據所述異步請求啟動協程,并由協程將所述業務數據上傳至服務器;
接收模塊,用于所述協程接收所述服務器返回的對所述業務數據的處理結果;
更新模塊,用于主線程調用封裝的異步回調函數從所述協程中回調所述處理結果,并根據所述處理結果更新所述業務數據。
9.一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至7中任一項所述的方法的步驟。
10.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至7中任一項所述的方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市九九互動科技有限公司,未經深圳市九九互動科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011192028.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于單片機的待機控制電路及用電設備
- 下一篇:電子設備及控制方法





