но такое именно с флаттером.
Есть регистрация пользователей с приложения на flutter. На бэке происходит валидация, что email уникальный (проверяет наличие такого email в базе). И если email в базе имеется - то выдаёт во фронт (flutter приложение) сообщение, что такой email уже зарегистрирован. Но есть например быстро много раз нажать "Зарегистрироваться", то в бэке моя проверка в бд игнорируется.. Такое впечатление, будто происходит регистрация (при первом потоке), а остальные потоки успели пройти проверку (что пользователя нет в бд) и тоже отправились "на регистрацию", после чего я уже на сервере получаю в логах сообщение что пытаюсь создать строку в которой unique email уже есть..
Как такое происходит? Я думал всё это как то "жёстко" регулируется со стороны БД.. Или я может что то упускаю?
p.s.: я понимаю решение, например дисаблить на время запроса кнопку.. Но механически мне кажется такого быть не должно (что идут например 2 запроса, и 1 нормально отработал, второй тоже успел проверить что пользователя нет в базе (т.к. первый ещё не успел записать на момент проверки), но потом ошибка). Странная ситуация
Обсуждают сегодня