Node.js Mongoose在save()中处理重复时出错
我试图减少代码重复。当我从猫鼬错误开始时,问题就出现了。我有6个函数使用相同的mongooseNode.js Mongoose在save()中处理重复时出错,node.js,mongoose,Node.js,Mongoose,我试图减少代码重复。当我从猫鼬错误开始时,问题就出现了。我有6个函数使用相同的mongoosesave()方法。每次保存时,我都会检查错误,并切换到4种情况,并且在使用保存方法的每个函数中都会重复此块 只有一个功能的最好方法是什么 我应该覆盖save方法并将响应接口传递给覆盖的方法,然后响应错误。但实际上,在相同的情况下,它不是有效的(如果抛出一些错误,我应该做其他事情,而不是用验证错误响应用户)。我想创建一个带有错误的全局对象(键:code error,值:我必须发送给用户的错误) 或者重复处
save()
方法。每次保存时,我都会检查错误,并切换到4种情况,并且在使用保存方法的每个函数中都会重复此块
只有一个功能的最好方法是什么
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);
}
您能给我们看一下您的代码片段吗?只要错误处理函数没有任何副作用,您就可以传递相同的函数。因此,将响应接口传递给save方法不是问题吗?是的,不是。确保检查它不会更改任何全局变量