2017-01-03 1 views

답변

1

글쎄, 나, 나에게이 일을하는 깔끔한 방법을 보여 주겠다! 여기

우리는 매개 변수로 (우리의 경우 방법) 액션에 취하는있는 IEnumerator를하고 우리의 WWW이 완료되면 호출 :

public static IEnumerator GetSomething(Action<string> callback) 
    { 
     // The www-stuff isn't really important to what I wish to mediate 
     WWWForm wwwForm = new WWWForm(); 
     wwwForm.AddField("select", "something"); 
     WWW www = new WWW(URL, wwwForm); 
     yield return www; 

     if (www.error == null) 
     { 
      callback(www.text); 
     } 
     else 
     { 
      callback("Error"); 
     } 
    } 

을 그리고 이것은 우리가 그것을 사용하는 방법입니다 :

StartCoroutine(
    GetSomething((text) => 
    { 
     if (text != "Error") 
     { 
      // Do something with the text you got from the WWW 
     } 
     else 
     { 
      // Handle the error 
     } 
    }) 
); 

우리가 보내는 매개 변수는 무명으로 선언 된 메서드 인 (text)입니다. 우리는 IEnumerator에서 "콜백"이라고 부르지 만 아무 것도 호출 할 수 있습니다. 중요한 것은 GetSomething 메서드를 호출하는 매개 변수에서 선언 한 메서드를 호출한다는 것입니다.

+0

우리 모두가 이미 질문에 대한 답을 얻었 으면 SO가 쓸모 없게됩니다. 또한, 이것은 새로운 것은 아니며, 그 대답으로 많은 질문이 있습니다. – Everts

+0

@Everts 질문을하고 다른 사람들에게 도움이된다고 생각되면 답변 해 줄 수 있습니다. 이것은 불행하게도 복제본 일뿐입니다. – Programmer

+1

@Programmer 오 와우, 거의 동일합니다. 나의 나쁜, 나는 그것을 발견하지 않았고, 나 자신을 위해 미래의 참조를 원했고, 다른 사람들도 이것으로부터 이익을 얻을 것이라고 생각했다. 진정으로 그렇게 생각한다면 stackoverflow에 대한 제안을 추가하여 자동 응답 기능을 제거해야합니다. – Maakep

관련 문제