Pull to refresh

Comments 10

Ок, для смены страниц с предзагрузкой данных вы костыль влепили. Для остальных кейсов тоже будете такими костылям обмазываться? Или всё же подумаете над более системным решением, чтобы прикладнику вообще не приходилось думать об отмене запросов?

Использовать его фреймворк, очевидно же

А если серьезно, полагаю, может случиться такая ситуация, когда на новом роуте понадобятся те же самые данные, загрузка которых только что была прервана.

У нас платформа для проведения соревнований и очень часто взвешивание участников проходит в каком-то подвале с плохим интернетом. И именно для такого кейса это крайне актуально, у них просто не успевают многие тяжелые запросы выполниться до конца, когда они уже решают поменять страницу.

То что прерванный запрос мог бы пригодиться на другой странице для нас слишком edge кейс пока что) Но замечание хорошее, кому-то это стоит учитывать.

Реактивная зависимость, которая, пока жива, загружает и мемоизирует данные. А когда все подписки от неё пропадают, отменяет - запрос, если он ещё не завершился.

есть какой-то простой пример?

У нас это делается так и так. В Vue вроде можно сделать нечто похожее.

Любопытно, открыл для себя новый параметр для fetch(). Очевидно, проблема в том, что промисы не дают возможности отписаться нормально и приходится такой вот токен использовать либо проверять колбэках каким-либо образом, что компонент разрушен и игнорировать респонс. По-хорошему надо всегда отписываться при уничтожении компонента, и учитывать, что аборт может привести к отмене сохранения результатов, если сервер поддерживает обработку закрытия подключения.

По-хорошему надо всегда отписываться при уничтожении компонента

Либо проектировать так, чтобы размонтирование компонентов, закрытие браузера, отключение электричества, ушедшие необработанные запросы - не влияли на общее состояние приложения, таким образом сократив количество "шумного" кода.

Sign up to leave a comment.

Articles