@zekohina

Как строить архитектуру с учетом асинхронности?

Асинхронность в js это и благо и зло.
Допустим, я делаю валидатор который принимает данные и правила валидации, а возвращает или список ошибок валидации, или null (в случае успеха). Что-то вроде того:
validator(
data,
{
'email': ['email', 'required'],
'password': [{string: {min: 8, max: 50}}, 'required'],
'phone': [{number: {length: 11}}]
}
)


И все бы хорошо. Но как только понадобится провалидировать email на реальное существованине, то придется делать запрос, а это уже асинхронная операция, и просто вернуть null не получится. Нужно возвращать или промис или колбэк, а это переписывание кучи кода.
Собственно вопрос, как быть в такой ситуации? Как планировать архитектуру, чтобы не было больно? Всегда возвращать промис, чтобы было на будущее?
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ну да, возвращать промис.
Ну или сразу на будущее смотреть в стороку co и async/await.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы