Вступить в клуб →
средняявопросКорутины, async/await и UniTask

Быстрое переключение вкладок магазина показывает товары не той вкладки

async void OnTabSelected(string tab)
{
    var items = await api.GetItems(tab); // от 0,2 до 2 секунд
    grid.Show(items);
}

Игрок нажал «Оружие», потом сразу «Броня». Запрос брони ответил быстрее, а через секунду пришёл ответ по оружию и перезаписал сетку. На выбранной вкладке «Броня» — мечи. Как исправить?

  • Отменять прошлый запрос через CancellationToken
  • Блокировать вкладки на 2 секунды после нажатия
  • Вызывать grid.Show в LateUpdate
  • Перейти с async void на async Task

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела