Найти в Дзене
Поддержите автораПеревод на любую сумму
Покупайте СтеллыИ дарите их за контент
2 дня назад

Как показать часть данных, если один из запросов упал

На странице три независимых блока. Если отчёт недоступен, имя пользователя и настройки всё ещё можно показать. Как дождаться всех результатов и понять, какой блок упал? async function loadDashboard() { const results = await Promise.allSettled([ Promise.resolve('Профиль'), Promise.reject(new Error('Отчёт недоступен')), Promise.resolve('Настройки'), ]); for (const result of results) { if (result.status === 'fulfilled') console.log(result.value); else console.log(result...

2 дня назад

Куда пропадают поля формы при сборе FormData

В форме видны имя, почта и тема оформления. Ты создаёшь FormData и обнаруживаешь, что пришло только одно поле. Посмотри на разметку и попробуй найти обе причины. <form id="settings"> <input name="name" value="Саша"> <input id="email" value="a@example.test"> <input name="theme" value="dark" disabled> </form> const form = document.querySelector('#settings'); console.log([...

2 дня назад

Как выбрать «товар», «товара» или «товаров» без цепочки if

В корзине легко написать «1 товар» и «2 товара». Как только появляются 11 и 21, проверка последней цифры начинает подводить. const rules = new Intl.PluralRules('ru'); const forms = { one: 'товар', few: 'товара', many: 'товаров', other: 'товара' }; for (const count of [1, 2, 5, 11, 21, 22]) { console.log(count, forms[rules.select(count)]); } 1 товар 2...

2 дня назад

Почему две колонки Grid с 1fr получаются разной ширины

Ты ставишь две колонки 1fr и ждёшь ровного деления. Потом в левую карточку попадает длинный идентификатор, и правая колонка сжимается. <div class="grid"><div>СверхдлинныйИдентификаторБезПробелов</div><div>Справа</div></div> .grid { display: grid; width: 240px; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }. grid > div { overflow-wrap: anywhere; } В записи 1fr у трека есть автоматический минимум...

3 дня назад

Почему длинный текст ломает flex-строку и где поставить min-width: 0

В карточке есть аватар и текст. Короткое имя выглядит нормально, а длинный логин выталкивает текст за правый край. Попробуй угадать, какому элементу нужно разрешить сжиматься. <div class="row"><span>👤</span><div class="body"><p>ОченьДлинныйЛогинБезПробеловОченьДлинныйЛогин</p></div></div> .row { display: flex; gap: 8px; width: 220px; }. body p { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }...

Поддержите автораПеревод на любую сумму
Покупайте СтеллыИ дарите их
за контент