tgoop.com/mefody_dev/339
Last Update:
fetchLater API
В Chrome 135 вышла из Origin Trial интересная апишка. Появился метод fetchLater, который принимает почти все те же аргументы, что и обычный fetch, но браузер отправит запрос попозже, а точнее в самое раннее из наступивших событий:
- документ уничтожен;
- прошло заданное пользователем время;
- браузер решил, что пора отправлять.
Третий пункт, конечно, самый интересный, но в эксплейнере буквально так и написано, конкретных подробностей найти не смог.
Для чего это может быть полезно? Маячки, замена sendBeacon. Иногда нужно отправить запрос, не обрабатывая его результат. Например, для продуктовой аналитики или сбора метрик перфоманса. Частый кейс: нужно отправить на сервер событие, когда пользователь закрыл вкладку. И тут мы научились картинки быстро вставлять в DOM на beforeunload, и fetch дёргать на веру, и специальным методом sendBeacon пользоваться. Но все эти методы не дают вообще никакой гарантии, что запрос будет отправлен. А хочется иметь специальное место в жизненном цикле страницы, где запрос всё-таки будет отправлен в любом случае.
Вот для этого и придумали fetchLater. Причём это не самоуправство Chrome мимо спецификаций, а вполне себе коллективная работа всех мажорных браузеров, Firefox и WebKit эксплейнер одобрили.
Но спеки, справедливости ради, пока нет. Есть черновой черновик спецификации, эксплейнер на гитхабе и дизайн-документ для Chromium. Тем не менее в эксплейнере есть хорошие примеры, как новый API можно применять — их можно расширить под ваши нужды аналитики.
https://chromestatus.com/feature/4654499737632768
BY mefody.dev
Share with your friend now:
tgoop.com/mefody_dev/339
