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()
            }
        });
    }


Вообще насколько верен мой подход? Знаю точно, что тут надо какие-то асинхронные фичи использовать, т.к если ответ от сервера не придёт быстро, то ничего не произойдёт
  • Вопрос задан
  • 201 просмотр
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
С чего бы это вы знаете что нужно использовать асинхронные фичи?
Вполне нормально в основном потоке поставить лоадер и дождатся когда придут данные.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы