Объяснение
async/await упрощает ожидание сети. Обновление UI должно соблюдать изоляцию главного actor. Отмена запроса и обработка неверного ответа — отдельные ветви состояния.
Задача для самостоятельного решения
Как предотвратить показ устаревшего поиска?
Показать разбор ответа
Отменить предыдущую Task или проверить идентификатор актуального запроса до изменения модели. Учитывайте, что отмена кооперативна.