以下简单模拟查找用户场景,
后台接口:
..
try{
const doc=await users.findOne({..})
if(doc) res.send({message:'ok'})
else res.status(404).send({message:'not found'}) //fetch catch it
}catch(e){
return next(e)
}
..
前台请求:
try{
const res=await Fetch({..})
//这里需不需要判断
if(res.message==='ok') Toast('success')
else Toast('wrong')
}catch(e){
console.log(e)
}
需不需要再去判断res.message,看到很多次其他人代码会像上面写,所有的错误都被catch到了,是否可以这样,不去判断:
try{
await Fetch({..})
Toast('success')
}catch(e){
console.log(e)
}
没必要判断,一般我们都会统一封装request请求,根据后端返回的状态码(可以是内部自定义的)比如 200 来判断来请求成功(resolve)/(reject)失败之后执行的业务逻辑。
res.message 其实也是后端自定义的,一般用于提示为佳,比如:
当然以上都只是一般情况,规范还得靠个人