- 738 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 19:30:41.11 ID:eV/cz9Fn.net]
- 非同期処理について質問です。
WWWクラスでサーバのAPIを叩いて、進行に必要なデータを取ってこようとしています(シナリオテキストとか) ───────────── private string url = "hoge.com"; public void Request<T>(Action<string> finalStep) { WWW www = new WWW(url, form); //formはWWWFrom。略 StartCoroutine(WaitResult<T>(www, finalStep)); } private IEnumerator WaitResult<T>(WWW www, Action<string> finalStep) { while (!www.isDone) { if (!String.IsNullOrEmpty(www.error)) { yield break; //エラー処理を追加 } else if (StartTime.AddSeconds(timeoutSec) < DateTime.Now) { yield break; //タイムアウト処理を追加 } yield return null; } finalStep(www.text); yield return null; } ───────────── 呼ぶ方は終わった時の処理をデリゲートで渡す感じにしようと思っていますが、 こういう感じの実装って違和感無いでしょうか。 ぐぐってもいまいち出てこなかったんですが、他に王道のやり方ってありますか?
|

|