Урок 28 · JavaScript
Кнопка показывает, что запрос ещё идёт
Пока fetch не вернулся, повторные клики легко отправить тот же запрос несколько раз.
Почему это следующий шаг
Пустой экран объясняет отсутствие данных. Ожидание ответа — отдельное состояние.
Как сделать
Перед запросом поставь кнопке disabled и смени подпись на «Загружаю». В finally верни кнопку и старую подпись, и при успехе, и при ошибке. Иначе после сбоя кнопка останется мёртвой. Индикатор — это текст на кнопке или рядом, не только смена курсора.
button.disabled = true;
try { await load(); }
finally { button.disabled = false; }Что проверить
- Во время запроса кнопка не нажимается второй раз.
- После ответа кнопка снова живая.
- После ошибки кнопка тоже снова живая.
Попробуй
Задержи ответ и проверь, что второй клик во время ожидания не уходит.