【发布时间】:2017-11-24 17:28:45
【问题描述】:
这里是函数,不知道有没有更简洁的写法:
private static WWW WaitUntilResolved (WWW request)
{
bool success = true;
float timeout = 5000, timer = 0;
while (!request.isDone) {
if (timer > timeout) {
success = false;
break;
}
timer += Time.deltaTime;
}
if (success && request.error == null)
return request;
else {
request.Dispose ();
return null;
}
}
ps。 WWW 是原生统一类:https://docs.unity3d.com/ScriptReference/WWW.html
【问题讨论】:
-
您的代码在轮询循环中阻塞。这是非常不可取的。您是否有理由不能使用非阻塞异步
HttpClient类? -
我对Unity不太熟悉,
WWW是Unity中的类还是别的什么? -
另外,请在上下文中发布您的代码。什么代码调用
WaitUntilResolved?你有多个线程吗? -
Unity 在他们的教程中有这个。您应该使用枚举器。 docs.unity3d.com/Manual/…