Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity中的异步请求_C#_Rest_Asynchronous_Unity3d - Fatal编程技术网

C# Unity中的异步请求

C# Unity中的异步请求,c#,rest,asynchronous,unity3d,C#,Rest,Asynchronous,Unity3d,我无法在Unity 4.6 C#中发出异步请求。 我一直在尝试中的WebAsync类,但不知道如何从结果中获取响应数据(我希望是json字符串) 如果您能回答这个问题,我们将不胜感激,或者不使用WebAsync的其他方法也可以。您真的需要在其他线程中执行此过程吗?如果不重要,您可以使用Unity WWW类:如果在协同程序中使用它,它仍然是异步的(额外的好处是更简单,您可以使用Unity API,这在其他线程中是不可用的) 我刚刚也找到了WWW,想知道它是否真的异步工作——因为我马上就让它运行起来

我无法在Unity 4.6 C#中发出异步请求。 我一直在尝试中的WebAsync类,但不知道如何从结果中获取响应数据(我希望是json字符串)


如果您能回答这个问题,我们将不胜感激,或者不使用WebAsync的其他方法也可以。您真的需要在其他线程中执行此过程吗?如果不重要,您可以使用Unity WWW类:如果在协同程序中使用它,它仍然是异步的(额外的好处是更简单,您可以使用Unity API,这在其他线程中是不可用的)


我刚刚也找到了WWW,想知道它是否真的异步工作——因为我马上就让它运行起来了。是的,我肯定需要在另一个线程上调用它,否则它会阻塞我假设的UI。我的例子是异步-协同路由保证了这一点。它只是在同一个线程中运行。Unity中的多线程功能很弱-您不能从另一个线程调用任何Unity方法。只要它不阻塞UI,就可以了。协同程序不是多线程。在提出API请求时,我在Android上遇到了痛苦的延迟。
void Start(){
    StartCoroutine(AskServerSomething());
}

IEnumerator AskServerSomething() {
    WWW www = new WWW("http://stackoverflow.com/");
    yield return www;       
    if(www.error == null){
        print("success: " + www.text);
    } else {
        print("something wrong: " + www.text);
    }
}