Знали, что fetch-запрос можно отменить прямо из JS?
Когда пользователь меняет фильтр или быстро вводит новый текст, старые запросы продолжают работать и мешают актуальным данным.
Если запрос больше не нужен, просто “абортим”:
При отмене
🔥 Деталь, которая делает код предсказуемым даже под нагрузкой.
📣 JS Ready | #совет
Когда пользователь меняет фильтр или быстро вводит новый текст, старые запросы продолжают работать и мешают актуальным данным.
AbortController создаёт сигнал, который можно “прикрепить” к fetch:const controller = new AbortController();
fetch('/api/data', { signal: controller.signal });
Если запрос больше не нужен, просто “абортим”:
controller.abort();
При отмене
fetch выбрасывает AbortError — это нормально, можно отловить и проигнорировать:fetch(url, { signal: controller.signal })
.catch(err => {
if (err.name !== 'AbortError') throw err;
});🔥 Деталь, которая делает код предсказуемым даже под нагрузкой.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍9🔥7
В этой шпаргалке собраны основные приёмы и функции для работы с ошибками: try, catch, finally, throw, а также логирование и проверка типов ошибок. Они применяются при работе с API, асинхронными операциями и бизнес-логикой. Умение правильно обрабатывать ошибки делает код устойчивым и предсказуемым.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤7🔥6
4 способа скопировать массив без мутаций!
Чтобы избежать случайных изменений исходных данных, важно уметь создавать независимую копию массива.
1. Spread-оператор (поверхностная копия — вложенные объекты остаются по ссылке)
2. Метод
3. Метод
Поддерживает преобразование элементов:
4. Глубокая копия через JSON (если есть вложенные данные), но теряет функции, undefined и даты
🔥 Эти приёмы помогают писать стабильный и предсказуемый код, особенно при работе со сложными структурами.
📣 JS Ready | #практика
Чтобы избежать случайных изменений исходных данных, важно уметь создавать независимую копию массива.
1. Spread-оператор (поверхностная копия — вложенные объекты остаются по ссылке)
const arr = [1, 2, 3];
const copy = [...arr];
2. Метод
slice() (поведение как у spread — неглубокое копирование)const arr = [1, 2, 3];
const copy = arr.slice();
3. Метод
Array.from() const arr = [1, 2, 3];
const copy = Array.from(arr);
Поддерживает преобразование элементов:
const doubled = Array.from(arr, x => x * 2); // [2, 4, 6]
4. Глубокая копия через JSON (если есть вложенные данные), но теряет функции, undefined и даты
const arr = [{ id: 1 }, { id: 2 }];
const deepCopy = JSON.parse(JSON.stringify(arr));🔥 Эти приёмы помогают писать стабильный и предсказуемый код, особенно при работе со сложными структурами.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍10🔥7
Сегодня создаём мини-модель искусственного нейрона с весами, активацией и наглядной визуализацией его работы. Поймём, как данные проходят через сеть и превращаются в результат.
В этой задаче:
• Реализуем скалярное произведение и сигмоиду вручную;
• Собираем несколько нейронов в слой и выполняем forward-pass;
• Добавляем консольную визуализацию, чтобы увидеть, как «думает» сеть.
Такая практика помогает понять, почему разные функции активации ведут себя по-разному.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥10👍6🤝4
This media is not supported in your browser
VIEW IN TELEGRAM
Inline Preview решает это за секунду. Выделяешь нужный кусок разметки и vsсode мгновенно показывает рендер прямо в редакторе. Особенно удобно при работе с email-шаблонами, SSR-разметкой или отдельными UI-компонентами, когда нужно быстро проверить кусок, а не весь проект.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20❤9👍6
👍13🔥8🤝6
JavaScript автоматически очищает память, но только за тем, что действительно “потеряно”. Если ссылка на объект где-то осталась — сборщик мусора бессилен.
В этом посте:
• Как движок решает, что можно удалить;
• Как простое замыкание удерживает мегабайты памяти;
• Чем WeakMap спасает от утечек;
• FinalizationRegistry, чтобы увидеть момент очистки.
Понимание модели памяти важно не меньше, чем знание синтаксиса.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥9❤7