12345678910111213141516171819202122232425262728293031 |
- using System;
- using UnityEngine;
- using UnityEngine.Networking;
- namespace ET
- {
- public static class CoroutineHelper
- {
- // 有了这个方法,就可以直接await Unity的AsyncOperation了
- public static async ETTask GetAwaiter(this AsyncOperation asyncOperation)
- {
- ETTask task = ETTask.Create(true);
- asyncOperation.completed += _ => { task.SetResult(); };
- await task;
- }
-
- public static async ETTask<string> HttpGet(string link)
- {
- try
- {
- UnityWebRequest req = UnityWebRequest.Get(link);
- await req.SendWebRequest();
- return req.downloadHandler.text;
- }
- catch (Exception e)
- {
- throw new Exception($"http request fail: {link.Substring(0,link.IndexOf('?'))}\n{e}");
- }
- }
- }
- }
|