c# async и новый объект

У менять есть XML файл, который загружаю асинхронно, после чего с помощью этого файла я инициализирую новый объект, но уже не асинхронно. Стоит ли инициализацию также проводить асинхронно? Или код корректно отработает, если, предположим, там будет много данных? Если нужно асинхронно, то не подскажите паттерн, пока что нашел с помощью Task.Delay подождать, но это как-то рандомно?

protected async Task<bool> TryLoad(GameDataBase gamedata)
{
    XmlHandle handle = new XmlHandle();
    bool result = await handle.TryLoad(PathFile);

    if (!result)
    {
        return false;
    }

    result = gamedata.Load(handle);

    return result;
}

Ответы (1 шт):

Автор решения: CrazyElf

Асинхронными стоит делать методы, в которых возможно некое ожидание:

  • Ввода-вывода
  • Чтения-записи в файл/БД
  • Получения данных из сети

И т.д.

В вашем случае нет смысла делать инициализацию асинхронной, если у вас нет никакого ожидания, а просто линейный код.

→ Ссылка