UnityでFirebaseのDatabaseにつないで、データを取得しようとしています。
データの取得自体はできているのですが、
非同期で取得しているデータの取得完了を待ってから、
その値を戻したいのですが、どうすれば良いのか分かりません。
どのようにすれば、非同期処理の処理結果を待てるのでしょうか。
C#
1 public List<Character> GetCharacterList() 2 { 3 PagingList<Character> charaList = new PagingList<Character>(); 4 5 bool endFlag = false; 6 7 charaListTable.OrderByChild("sort").GetValueAsync().ContinueWith(task => { 8 if (task.IsFaulted) 9 { 10 // 取得エラー 11 Debug.Log("[error] GetCharacterList"); 12 } 13 else if (task.IsCompleted) 14 { 15 // 取得成功 16 Debug.Log("[success] GetCharacterList"); 17 IEnumerator<DataSnapshot> result = task.Result.Children.GetEnumerator(); 18 19 while (result.MoveNext()) 20 { 21 DataSnapshot data = result.Current; 22 charaList.Add( 23 new Character( 24 (int)(long)data.Child("id").Value, 25 (int)(long)data.Child("sort").Value, 26 (string)data.Child("name").Value, 27 (string)data.Child("imagePath").Value)); 28 } 29 } 30 31 }); 32 33 //★ここで上記の処理結果を待ってから返したい 34 return charaList; 35 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。