Так вышло, что моя форма дважды отправляла значение без preventDefault() и бэк создавал 2 учётных записи с одинаковой почтой, но с разными id.
Как я могу поставить задержку на следующий запрос в секунду допустим от данного клиента?
На бэке генерируете UUID и пишете его в форму в качестве скрытого параметра
При посте делаете следующие проверки:
Есть ли уже почта? Если есть ошибка
Есть ли уже id - ошибка
Этот подход кстати универсален, и в этом случае можно обойтись проверкой только на почту, так как это уникальный ключ
Вы не поняли, у меня запросы настолько быстро проходили, что записывало 2 юзера, монго не успевал записать первый, одни практически одновременно записывались, я поставил брут-форс защиту с 1 попыткой - дальше задержка
Владимир, тогда действуете так:
Глобальная переменная emails
1. старт обработки запроса
1.1 проверка есть ли этот Email если есть то выход
2. положить email в emails
3. проверки и сохранение
4. удаление из массива
Владимир Коротенко, а как с остальными роутами быть? Допустим запись сообщения в базу, у человека интернет лагает, он нажмёт 5 раз кнопку, отлагает - 5 запросов