代码如下,其中有三个if判断,来检查数据是否符合预期,让我困惑的是,这些检查是否有必要?
我是不是应该拿掉这些判断,让其catch自行捕获?
哪种方式更合理些?或许还有更合理的做法?
希望有人能够指点下,谢谢
async loadUserInfo() {
try {
const { data } = await getUserInfo()
if (data.status !== CONFIG.SUCCESS_CODE) {
return
}
if (!data.data.length) {
return
}
const account = util.getAccountById(data.data)
if (!account || !account.userName || !account.userPhoneNo || !account.merchantName) {
return
}
this.setState({
userName: account.userName,
userPhoneNo: account.userPhoneNo,
merchantName: account.merchantName,
})
} catch (err) {
alert('用户信息数据发生错误')
}
}
去掉检查
async loadUserInfo() {
try {
const { data } = await getUserInfo()
const account = util.getAccountById(data.data)
this.setState({
userName: account.userName,
userPhoneNo: account.userPhoneNo,
merchantName: account.merchantName,
})
} catch (err) {
alert('用户信息数据发生错误')
}
}