请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

这样写算代码冗余吗?

双越老师好, 我这样写算代码冗余吗?

下面代码的文件所在路径: src/controller/user.js
/**
 * @author wgm
 * @date 2019/12/31 10:06
 * @description 删除当前登录用户(只在测试环境下有效)
 * @param {String} userName 用户名
 */
const deleteCurUser = async (userName) => {
	if (notTest) return new ErrorMode(deleteUserFailInfo) //只能在测试环境下删除用户(notTest算业务逻辑判断, 学生认为应写在controller层)
	//下面这句已经在/api/user/login接口判断过了, 还要不要再判断一下, 防止黑客跳过login接口和test环境??
	const userInfo = await getUserInfo(userName); //中间件checkLogin只是判断redis. getUserInfo是判断数据库mysql.
	if (!userInfo) return new ErrorMode(registerUserNameNotExistInfo) //用户名未存在
	//因为之前老师在增加用户的时候也写了try-catch, 学生认为除查询外的增改删操作数据库都容易意外报错
	try {
		const result = await deleteUser(userName)
		if (result) return new SuccessModel() //删除已登录用户成功
		return new ErrorMode(deleteUserFailInfo) //删除已登录用户失败
	} catch (e) {
		console.error(e)
		return new ErrorMode(deleteUserFailInfo) //当删除用户过程中,出现错误的时候
	}
}

正在回答

1回答

没看懂,你觉得哪里有冗余?我觉得为啥问题呀。

0 回复 有任何疑惑可以回复我~
  • 提问者 王鹳厶 #1
    //下面这两句是不是此一举? 因为/api/user/delete接口已经有一个中间件(checkLogin)检查了. 说明用户已经存在了. 还要多此一举写这句再检查一边吗?
    const userInfo = await getUserInfo(userName); //checkLogin 检查 redis, getUserInfo 检查 mysql
    if (!userInfo) return new ErrorMode(registerUserNameNotExistInfo) //用户名未存在
    回复 有任何疑惑可以回复我~ 2019-12-31 20:04:19
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号