Mongoose错误处理save()中的重复

时间:2017-01-08 12:28:52

标签: node.js mongoose

我正在尝试减少代码重复。当我开始使用猫鼬错误时出现问题。我有6个函数使用相同的mongoose save()方法。在每次保存时,我检查错误,并且我有4个案例切换,并且在使用save方法的每个函数中重复此块。

只用一个功能才能做到最好的方法是什么?

  1. 我是否应该覆盖save方法并将响应接口传递给覆盖的方法并响应并显示错误。但实际上它在相同的情况下不是有效的(如果抛出一些错误我应该做其他事情,而不是用验证错误来响应用户)。我想用错误创建一个全局对象(键:代码错误,值:我必须发送给用户的错误)。

  2. 或者重复处理错误开关是不错的做法?

  3. 这是重复代码

    if (err) {
        if (err.name == 'ValidationError' && err.errors.username && err.errors.username.kind == 'unique')
                return reply('This username is already taken');
        else if (err.name == 'ValidationError' && err.errors.email && err.errors.email.kind == 'unique')
            return reply('There is already a user with this email');
        return callback(err);
    } 
    

0 个答案:

没有答案