Node.js 如何正确处理Hapi中的错误?

Node.js 如何正确处理Hapi中的错误?,node.js,rest,error-handling,sequelize.js,hapijs,Node.js,Rest,Error Handling,Sequelize.js,Hapijs,我开始学习Hapi,但我不确定错误处理 这是我的密码: method: ['POST'], path: '/users', handler: function (request, reply) { if (request.query['password'] == request.query['password_confirmation']) { models.User.create({ 'email'

我开始学习Hapi,但我不确定错误处理

这是我的密码:

    method: ['POST'],
    path: '/users',
    handler: function (request, reply) {
        if (request.query['password'] == request.query['password_confirmation']) {
            models.User.create({
                'email': request.query['email'],
                'password': request.query['password'],
                'password_confirmation': request.query['password_confirmation'],
            })
                .catch(models.Sequelize.ValidationError, err => {
                    return reply(err);
                })
                .then(user => {
                    return reply(user);
                });
        } else {
            return reply('password do not match');
        }
这将产生

未处理的拒绝错误:应答接口调用两次

如何正确处理验证错误?我找不到很多

关于Hapi的代码示例,这让我很为难


谢谢

为什么会有一个then block post捕捉

 models.User.create({ 
 'email':request.query['email'], 
 'password': request.query['password'],
   'password_confirmation:request.query['password_confirmation'],
}) 
.then(user => { return reply(user); })
.catch(models.Sequelize.ValidationError, err =>
{ return reply(err); })  

哎呀,你说得对。我不确定承诺的语法。谢谢!