パフォーマンスを向上させるためにこのコードを改善できるかどうかを知りたいです。私はサーバー側の非同期処理全体に慣れていないので、ここで我慢してください。
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();、メインスレッドをブロックします。
タスクを同時に実行する方法はありますか?