c# - 如果收益返回不产生结果,则返回/继续代码?
问题描述
WWW class
如果收益返回没有返回值(以防互联网中断),如何使代码继续执行下一步?目前,代码停留在产生价值并且不会继续。
void Start()
{
StartCoroutine(GetTimers());
}
IEnumerator GetTimers()
{
WWW data = new WWW("http://TimerWebsiteHosting.com/GetTimers.php");
yield return data;
dataString = data.text;
Items = dataString.Split(';');
Timer1 = int.Parse(Items[0]);
Timer2 = int.Parse(Items[1]);
}
解决方案
首先:它WWW
已经过时了!
你应该使用UnityWebRequest
!
您可以使用设置超时UnityWebRequest.timeout
然后添加错误检查。成功后读出data.downloadHandler.text
IEnumerator GetTimers()
{
using(UnityWebRequest www = UnityWebRequest.Get("http://TimerWebsiteHosting.com/GetTimers.php"))
{
// wait up to one second or whatever you want to use as timeout
www.timeout = 1;
yield return www.SendWebRequest();
if (www.isNetworkError || www.isHttpError)
{
Debug.LogError($"Downlaod failed with {www.responseCode} - {www.error}", this);
yield break;
}
dataString = www.downloadHandler.text;
}
Items = dataString.Split(';');
Timer1 = int.Parse(Items[0]);
Timer2 = int.Parse(Items[1]);
}
推荐阅读
- react-native - 抽屉菜单未关闭
- python - 比较 2 个相似数据框的差异的更快方法
- php - 如何添加切换以更改 content-product.php 上显示的产品数量
- python - 从python代码中获取列表索引超出范围
- apache-kafka - 本地单主机Fabric网络中基于kafka的OSN,但是当我执行事务时没有登录kafka容器
- javascript - 如何使滑块的长度更短并出现在页面的中心?
- json - 如何将循环集成到我的代码中,将我的请求应用于每个 filterViewId?
- python - 为一个接口创建多个 IP,并能够在特定端口上的每个 IP 上运行服务
- linux - Linux 父/子进程组和信号
- arrays - 在 Neo4j 中使用 apoc.load.jason() 时如何拥有一组 Json 键对象?