パフォーマンスを向上させるためにこのコードを改善できるかどうかを知りたいです。私はサーバー側の非同期処理全体に慣れていないので、ここで我慢してください。
con.GetGame(id, game => {
foreach(Player p in game.Team1)
{
p.SomeExtraDetails = GetPlayerDetails(p.Id);
}
// I would like the player data to be set on all players
// before ending up here
});
private PlayerDetails GetPlayerDetails(double playerId)
{
var task = con.GetPlayer(playerId);
PlayerDetails ret = null;
Task continuation = task.ContinueWith(t =>
{
ret = t.Result;
});
continuation.Wait();
return ret;
}
正しければcontinuation.Wait();
、メインスレッドをブロックします。
タスクを同時に実行する方法はありますか?