From 25eb0e50d4e815efb16d1a9953beac6ea1c7cfc3 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期六, 28 三月 2026 10:14:32 +0800
Subject: [PATCH] webgl merge
---
Assets/Launch/HttpRequest/HttpRequest.cs | 47 +++++++++++++++++++++++++----------------------
1 files changed, 25 insertions(+), 22 deletions(-)
diff --git a/Assets/Launch/HttpRequest/HttpRequest.cs b/Assets/Launch/HttpRequest/HttpRequest.cs
index 4b009f0..7c4859a 100644
--- a/Assets/Launch/HttpRequest/HttpRequest.cs
+++ b/Assets/Launch/HttpRequest/HttpRequest.cs
@@ -15,45 +15,48 @@
public const string defaultHttpContentType = "application/x-www-form-urlencoded";
public const string jsonHttpContentType = "application/json ; charset=utf-8";
- public void RequestHttpPost(string _url, IDictionary<string, string> _parameters, string _contentType, int _retry = 3, Action<bool, string> _result = null)
+ public async void RequestHttpPost(string _url, IDictionary<string, string> _parameters, string _contentType, int _retry = 3, Action<bool, string> _result = null)
{
var content = HashtablaToString(_parameters);
- HttpBehaviour.Create(_url, "POST", content, _contentType, _retry, _result);
+ var task = HttpBehaviour.CreateAsync(_url, "POST", content, _contentType, _retry, _result);
+ task.Forget();
}
- public void RequestHttpPost(string _url, string _content, string _contentType, int _retry = 3, Action<bool, string> _result = null)
+ public async void RequestHttpPost(string _url, string _content, string _contentType, int _retry = 3, Action<bool, string> _result = null)
{
- HttpBehaviour.Create(_url, "POST", _content, _contentType, _retry, _result);
+ var task = HttpBehaviour.CreateAsync(_url, "POST", _content, _contentType, _retry, _result);
+ task.Forget();
}
- public void RequestHttpGet(string _url, string _contentType, int _retry = 3, Action<bool, string> _result = null)
+ public async void RequestHttpGet(string _url, string _contentType, int _retry = 3, Action<bool, string> _result = null)
{
- HttpBehaviour.Create(_url, "GET", "", _contentType, _retry, _result);
+ var task = HttpBehaviour.CreateAsync(_url, "GET", "", _contentType, _retry, _result);
+ task.Forget();
+ }
+
+ public async UniTask<(bool ok, string message)> UnityWebRequestGetAsync(string _url, string _contentType, int _retry = 3, Action<bool, string> _result = null)
+ {
+ return await HttpBehaviour.CreateAsync(_url, "GET", "", _contentType, _retry, _result);
}
//2024-09-26 HttpWebRequest Get CDN璧勬簮鍦ㄦ煇浜涜妭鏃ュ彲鑳芥棤娉曡闂� 鍖呭惈keepalive鐨勮瀹氱瓑涓嶅悓鎯呭喌 鏀圭敤UnityWebRequest
//鑾峰彇CDN璧勬簮涓嶅缓璁娇鐢℉ttpWebRequest
- public void UnityWebRequestGet(string _url, int timeout = 5, Action<bool, string> _result = null)
+ public async UniTask<(bool ok, string message)> UnityWebRequestGet(string _url, int timeout = 5, Action<bool, string> _result = null)
{
- StartCoroutine(GetDataB(_url, timeout, _result));
+ return await GetDataAsync(_url, timeout, _result);
}
- IEnumerator GetDataB(string remoteURL, int timeout, Action<bool, string> _result = null)
+ private static async UniTask<(bool ok, string message)> GetDataAsync(string remoteURL, int timeout, Action<bool, string> _result = null)
{
- UnityWebRequest request = UnityWebRequest.Get(remoteURL);
- request.timeout = timeout;
- yield return request.SendWebRequest();
-
- if (request.isDone)
+ using (UnityWebRequest request = UnityWebRequest.Get(remoteURL))
{
- if (request.result == UnityWebRequest.Result.Success)
- {
- _result(true, request.downloadHandler.text);
- }
- else
- {
- _result(false, request.result.ToString());
- }
+ request.timeout = timeout;
+ await request.SendWebRequest();
+
+ var ok = request.result == UnityWebRequest.Result.Success;
+ var message = ok ? request.downloadHandler.text : request.error;
+ _result?.Invoke(ok, message);
+ return (ok, message);
}
}
--
Gitblit v1.8.0