Иногда промисы и
fetch продолжают выполняться, даже если результат уже не нужен. Это тратит время и ресурсы. AbortController решает проблему: создаём сигнал => передаём в задачу => при необходимости останавливаем.В этом гайде:
• Отменяем fetch;
• Управляем несколькими задачами сразу;
• Пишем собственные функции с поддержкой AbortSignal.
Полезно для API, поиска, долгих операций и экономии ресурсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍6🔥4
Иногда нужно быстро создать надёжный пароль: для тестовых данных, пользователей или внутренних инструментов. Реализуем генерацию прямо в JS, без сторонних библиотек.
Формируем набор символов и выделяем спецсимволы:
const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()";
const special = "!@#$%^&*()";
Создаём функцию генерации пароля с проверкой категорий:
function generatePassword(length = 12) {
while (true) {
const pwd = Array.from({ length }, () =>
chars[Math.floor(Math.random() * chars.length)]
).join("");
if (/[a-z]/.test(pwd) && /[A-Z]/.test(pwd) &&
/\d/.test(pwd) && [...pwd].some(c => special.includes(c))) {
return pwd; // пароль прошёл проверку
}}}Тестируем работу генератора:
for (let i = 0; i < 3; i++) {
console.log(generatePassword());
// пример: A7d!xP0m#kQ2
}🔥 Можно встроить в формы регистрации, админ-панели или использовать при генерации тестовых данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤9🔥6
Сегодня разберём, как сделать универсальный «аниматор» для терминала: от классических точек (. .. ...) до крутящихся спиннеров и кастомных символов.
В этом посте:
• Работа с массивами и циклическим перебором кадров;
• Управление таймерами (setInterval / clearInterval);
• Добавление кастомных префиксов к анимации;
• Корректная остановка.
В итоге получится мини-библиотека, которая добавит «живости» любому CLI-скрипту и прокачает навык работы с процессами в Node.js.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥11❤6🤝3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥11🤝8❤6
This media is not supported in your browser
VIEW IN TELEGRAM
REST Client - расширение, которое превращает редактор в удобный инструмент для работы с HTTP-запросами. Можно тут же получать ответ от сервера. Плагин поддерживает переменные и окружения, так что можно хранить токены, URL или параметры для разных проектов и легко подставлять их в запросы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤8🔥8
Иногда в проекте нужно создавать разные типы объектов — обычного пользователя, администратора или гостя. Удобно использовать централизованную функцию, которая возвращает правильный объект по типу.
В этой задаче:
• Разберём базовый класс User;
• Создадим наследников Admin и Guest;
• Напишем фабричную функцию UserFactory;
• Получим готовый инструмент для масштабируемого кода.
Factory часто используют вместе с паттернами Dependency Injection и Strategy, чтобы гибко управлять созданием и поведением объектов.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13🤝11👍5
Самоуничтожающийся файл на JavaScript!
Создадим скрипт, который после выполнения удаляет сам себя.
Создаём JS-файл, который сможет удалить сам себя после выполнения:
Перед удалением выведем предупреждение и подождём пару секунд:
Теперь добавим основную логику удаления с обработкой ошибок:
🔥 Запустите скрипт — он выполнится, напечатает сообщение и исчезнет с диска. Полезно для временных скриптов, тестов и CLI-инструментов.
📣 JS Ready | #практика
Создадим скрипт, который после выполнения удаляет сам себя.
Создаём JS-файл, который сможет удалить сам себя после выполнения:
const fs = require("fs").promises;
const path = require("path");
const filePath = path.resolve(__filename); // полный путь к самому себеПеред удалением выведем предупреждение и подождём пару секунд:
console.log("⏳ Самоуничтожение через 3 секунды...");Теперь добавим основную логику удаления с обработкой ошибок:
setTimeout(async () => {
try {
await fs.unlink(filePath); // удаляем файл
console.log("💥 Файл уничтожен!");
} catch (err) {
console.error("❌ Ошибка при удалении файла:", err.message);
}
}, 3000);🔥 Запустите скрипт — он выполнится, напечатает сообщение и исчезнет с диска. Полезно для временных скриптов, тестов и CLI-инструментов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥8🤝5❤1