petushok55
@petushok55
Обучаюсь на практике.

Как подождать, пока сервер даст ответ и дальше продолжить выполнение метода?

При старте игры запускаю метод, который открывает главную страницу
private void Start()
    {
        OpenMainTab();
    }

Далее, внутри уже этого метода, запускаю другой

public void OpenMainTab()
    {
        UpdateInformation(()=> { 
        /*вот этот, который отправляет запрос на сервер и когда получает ответ, сохраняет в отдельном статичном классе (Answer), затем отображаю это */
        online_count_elemet.text = Answer.online_count;
        });
    }


public void UpdateInformation(Action callback)
    {
        MyMethod.Send("how tired of it all", (eResult) => /*отправляю инфу на сервер*/
        {
                Answer.online_count = eResult;  /* получаю ответ и сохраняю его. */
                callback?.Invoke(); // продолжаю делать то, что внутри UpdateInformation()
            }
        });
    }


Вообще насколько верен мой подход? Знаю точно, что тут надо какие-то асинхронные фичи использовать, т.к если ответ от сервера не придёт быстро, то ничего не произойдёт
  • Вопрос задан
  • 172 просмотра
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Senior .NET developer
С чего бы это вы знаете что нужно использовать асинхронные фичи?
Вполне нормально в основном потоке поставить лоадер и дождатся когда придут данные.
Ответ написан
petushok55
@petushok55 Автор вопроса
Обучаюсь на практике.
Вообще Владимир всё правильно сказал.
Асинхронные фичи здесь не нужны
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы