【发布时间】:2019-01-25 19:10:39
【问题描述】:
我需要从服务器下载 JSON 并在我的代码中反序列化以使用它。
我知道,我需要 UnityWebRequest 和协程。我理解两种方式。 我可以启动协程,向服务器发送请求并处理该被调用协程中接收到的数据,或者 我可以启动协程,发送请求并将结果保存到类私有变量中。在那个时候,在 StartCoroutine 之后我可以做 while(variable == null),然后在调用者方法中处理数据
private void Start()
{
StartCoroutine(LoadPagesId("SomeURL.com"));
}
private IEnumerator LoadPagesId(string url)
{
var request = UnityWebRequest.Get(url);
yield return request.SendWebRequest();
var data = request.downloadHandler.text;
request.Dispose();
// Do something with data
}
或
private string _str;
private void Start()
{
StartCoroutine(LoadPagesId("SomeURL.com"));
while (_str == null)
{
}
// Do something with data
}
private IEnumerator LoadPagesId(string url)
{
var request = UnityWebRequest.Get(url);
yield return request.SendWebRequest();
_str = request.downloadHandler.text;
request.Dispose();
}
有没有其他方法,没有全局变量和扩展的 LOAD 方法?
【问题讨论】: