Вступить в клуб →
сложнаявопросСеть, данные и конкурентность

В поиске по мере ввода иногда остаются результаты предыдущего запроса

Экран поиска отправляет запрос на каждое изменение текста и складывает пришедший ответ в список. Пользователь быстро печатает «фен», а в списке остаются результаты по запросу «фе». Ошибок в логах нет, ответы сервера корректны.

Что происходит и как это правильно чинить?

  • URLSession гарантирует порядок ответов в пределах одной сессии, значит ошибка в разборе ответа
  • Достаточно обновлять список на главном потоке — это исключит перезапись результатов
  • Ответ на прежний запрос приходит позже и затирает свежий: предыдущую задачу нужно отменять
  • Нужно выполнять запросы синхронно один за другим на фоновой очереди — тогда порядок сохранится и гонка исчезнет

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

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

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

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