嵌套的Prom进行验证"/>
避免使用嵌套的Prom进行验证
我正在使用node和mongoDB创建后端服务。
我确实具有如下模式:
const UserSchema = new Schema({
name : {
type : String,
required : true
},
email : {
type : String,
required : true
},
phoneNo : {
type : Number,
required : true
},
password : {
type : String,
required : true
},
avatar : {
type : String
},
date : {
type : Date,
default : Date.now()
}
})
现在,我要验证电话号码和电子邮件是否存在。对于此检查,我具有以下代码片段:
User.findOne({ email : req.body.email })
.then(user => {
if (user){
errors.email = 'Email already exists';
return res.status(400).json(errors);
} else {
User.findOne( {phoneNo : req.body.phoneNo})
.then (user => {
if(user) {
errors.phoneNo = 'Phone no already exists';
return res.status(400).json(errors);
}
else {
.....
所以我正在使用嵌套的Promise。我相信这不是继续进行的好习惯。但是我需要针对不同点显示不同的验证消息。可以用任何更简单的方法来实现吗?
回答如下:您可以使用async/await
,这将使您的代码更容易理解。
async/await
更多推荐
避免使用嵌套的Prom进行验证
发布评论