我试图通过URL从远程服务获取一些Json数据。我知道WWW课程可以用于此,但我不知道是否有可能在继续该课程之前等待该课程的响应。有谁可以提供帮助?
来自Unity文档https://docs.unity3d.com/ScriptReference/WWW.html的编码示例与您激活它的线程异步工作。我尝试等待调用结束,但我一直遇到同样的问题。
您似乎只能等待异步调用异步调用。我希望调用不要运行异步或让我的主线程等到调用完成。
我尝试在以下课程中获取数据:
public String data { get; set; }
public bool loaded { get; set; }
public IEnumerator ReadData(String source) {
using (WWW webClient = new WWW(source))
{
yield return webClient;
data = webClient.text;
loaded = true;
}
}
我正在开发一种hololens作为终端设备,如果可以帮助的话。
答案 0 :(得分:2)
我认为您的意思是等待下载完成,以便您可以处理下载的数据:
private IEnumerator DownloadData()
{
using (WWW www = new WWW(someURL))
{
yield return www; // Wait for download to finish
// Once the code reaches here your download has finished.
byte[] downloadedData = www.bytes;
}
}
用法:
StartCoroutine(DownloadData());