Перейти к содержимому
обзор / песочница

Здесь правда исполняется
ваш код

Раннер настоящий: то, что вы напишете слева, запускается прямо в браузере. Ненастоящее — сеть, география и KV: они смоделированы, чтобы демо работало без сервера.

· это рабочий сервис
заготовки каждая меняет и код, и запрос
handler.js
Ctrl запустить Tab два пробела 0 строк · 0 симв.
готов
запросто, что попадёт в request
нет запуска — мс
без магии

Что здесь настоящее, а что нарисовано

Ниже ровно то, что происходит при нажатии «Запустить».

Настоящее

Ваш код компилируется через new Function и исполняется движком браузера. Синтаксические ошибки, исключения, await, замыкания, возврат Response — всё живое. Время CPU замеряется через performance.now().

Смоделированное

fetch отвечает из встроенных моков с искусственной задержкой. env.KV и env.COUNTERS живут в памяти вкладки. request.geo берётся из выбранной точки, а сетевые миллисекунды — из её p50.

Ограничения песочницы

Таймаут 2000 мс на запуск, доступ к document и localStorage не блокируется — это браузер, а не изолят. Не вставляйте сюда чужой код, которому не доверяете.

биндинги в env
KV.get(k)значение или null
KV.put(k, v, {ttl})запись с временем жизни в секундах
KV.list(prefix)массив ключей
KV.delete(k)удаление ключа
COUNTERS.incr(k, by)атомарный инкремент, возвращает новое значение
REGIONидентификатор точки, например dme1
API_TOKENдемо-секрет, в логах маскируется
моки для fetch
/echoвозвращает то, что отправили
/timeвремя сервера и номер точки
/geoipгео по выбранной точке
/quoteслучайная цитата, 180 мс
/ratesкурсы валют, 240 мс
/slowотвечает 900 мс — проверить таймаут
/failвсегда 503 — проверить обработку ошибок

↑ базовый адрес моков — https://api.tessera.dev, любой другой хост песочница отклоняет с понятной ошибкой

Понравилось — читайте, как это устроено

В документации те же примеры, но с разбором: роутинг, KV, cron, коды ошибок и полный список лимитов.