0
예를 들어, WWW 클래스로 웹 API를 호출 할 때, 값을 반환하거나 완료되었을 때의 상태 및 상태를 알려주고 싶습니다.코 루틴의 값을 사용하거나 완료 시점을 알려주는 방법
예를 들어, WWW 클래스로 웹 API를 호출 할 때, 값을 반환하거나 완료되었을 때의 상태 및 상태를 알려주고 싶습니다.코 루틴의 값을 사용하거나 완료 시점을 알려주는 방법
글쎄, 나, 나에게이 일을하는 깔끔한 방법을 보여 주겠다! 여기
우리는 매개 변수로 (우리의 경우 방법) 액션에 취하는있는 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 메서드를 호출하는 매개 변수에서 선언 한 메서드를 호출한다는 것입니다.
우리 모두가 이미 질문에 대한 답을 얻었 으면 SO가 쓸모 없게됩니다. 또한, 이것은 새로운 것은 아니며, 그 대답으로 많은 질문이 있습니다. – Everts
@Everts 질문을하고 다른 사람들에게 도움이된다고 생각되면 답변 해 줄 수 있습니다. 이것은 불행하게도 복제본 일뿐입니다. – Programmer
@Programmer 오 와우, 거의 동일합니다. 나의 나쁜, 나는 그것을 발견하지 않았고, 나 자신을 위해 미래의 참조를 원했고, 다른 사람들도 이것으로부터 이익을 얻을 것이라고 생각했다. 진정으로 그렇게 생각한다면 stackoverflow에 대한 제안을 추가하여 자동 응답 기능을 제거해야합니다. – Maakep