Веб-страница
22.2K subscribers
2.16K photos
559 videos
2 files
4.44K links
Всё по фронтенду, бэкенду и девопсу в одном месте

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/64ai
Download Telegram
fastForward и runFor в Playwright по-разному двигают таймеры

Пропустить ожидание в тесте и проверить каждый тик таймера — разные задачи. У page.clock для них есть разные методы.

setFixedTime фиксирует значения Date, сохраняя естественную работу таймеров. После install можно управлять ходом времени. fastForward похож на закрытие и открытие ноутбука: просроченные таймеры срабатывают по одному разу. runFor проходит интервал последовательно и вызывает таймеры по мере его прохождения.

Вызывайте install до связанных с часами вызовов страницы, иначе поведение не определено. API управляет часами страницы, не системным временем компьютера.

📎 Режимы управления временем в Playwright.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
server:defer в Astro выносит компонент в отдельный серверный запрос

Блок с персональными данными можно загружать отдельно, не задерживая выдачу всей страницы. В Astro компонент с server:defer становится server island.

Основная страница сначала приходит с содержимым slot="fallback". Небольшой скрипт запрашивает отдельный endpoint острова и заменяет заглушку полученным HTML. Для отложенного серверного рендеринга нужен adapter. Одного статического хостинга недостаточно.

У острова свой контекст запроса. Astro.url указывает на endpoint острова, а не на страницу в адресной строке. Props должны сериализоваться, функции и объекты с циклическими ссылками не подойдут. Это отдельный серверный рендеринг, не гидратация через client:*.

📎 Жизненный цикл server islands в Astro.
Please open Telegram to view this post
VIEW IN TELEGRAM