Все это основано на асинхронном c программировании ...
protected override async Task OnInitializedAsync()
{
forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
}
Метод OnInitializedAsyn c, который вы упомянули, состоит из двух частей: синхронной и асинхронной. Когда метод OnInitializedAsyn c начинает выполняться, выполняется вызов ожидаемого метода GetForecastAsyn c, управление передается вызывающему коду, среде выполнения Blazor, которая начинает визуализацию интерфейса без задержки. Это первый раз, когда ваш компонент отображается. Это также, почему вы должны проверить в коде, что переменная прогнозы не нуль. Когда GetForecastAsyn c возвращается и заполняется переменная прогнозов, до конца метода выполняется больше кода (если он существует), после чего ваш компонент снова выполняет повторную визуализацию, на этот раз прогнозы не равны нулю, и, таким образом, таблица отображается , Конечно, это было упрощенное объяснение. Вы можете проверить процесс, шаг за шагом, просмотрев код, который делает это: Все начинается здесь . Это не должно быть трудно следовать. Нет волхвов c
Надеюсь, это поможет ...