У меня есть следующая функция для создания пользователя в моем приложении, я пытаюсь определить, создан ли пользователь, созданный пользователем, и не создавая другого.Событие с ошибкой «ошибка» при ошибке опрокидывания
export async function createUser (ctx) {
if (ctx.request.body.type == undefined ) {
ctx.throw(400, 'Bad Request')
}
if (ctx.request.body.type === 'admin') {
User.findOne({type:'admin'}, (err, usr) => {
if (err)
ctx.throw(422, err.message)
if (usr){
ctx.throw(400, 'Duplicate Admin')
}
})
}
....
Первые ctx.throw(400, 'Bad Request')
работы, но если другой администратор найден ctx.throw(400, 'Duplicate Admin')
вызовет следующую ошибку, сбой приложения:
events.js:160
throw er; // Unhandled 'error' event
^
BadRequestError: Duplicate Admin
Я бросал ошибку в неадекватной форме? что заставляет первый бросок работать без сбоев, но не второй?
Заранее спасибо за любую помощь