问题背景:定位一个问题时,找来找去,才发现是后端没有给到应有的数据所致;
目标:针对这种情况,作为前端应该在代码层面控制好到一眼就能发现问题点;
代码示例描述:
const datas = {
typeId:[***]
}
const fn = () => {
//一些逻辑处理,拿到后端返回的某个typeId
const typeId = '****';
//用该typeId去存储的datas数据里那对应数据
const data = datas[typeId]
//才发现是typeId是空的,导致页面某部分区域是空了。
}
针对上述问题,因为关键ID拿不到,导致前端区域空白。但是真实业务逻辑里,真的会有typeId存在时,拿到的data经过处理后还是空的场景。
所以排查时,会先去检查配置都对否,最后去断点代码一点点往回找才知道这样的问题。
对于这个,前端如何提示比较好,能一样就找到问题点,就算是后端调试页面也可以发现。就免去前端没必要的排查工作。
目前想到的方法:
//在关键处,console.error
if (!typeId) return console.error('typeId不存在');
//或者下面,但它会让这个页面挂掉了,错误倒是很明显
throw new Error('typeId不存在')
你们,在前端开发中,针对这类问题有没有更好方案呢?
没有其他的办法吧,掉后台出现错误,第一反应是去network 里面的response, 然后对数据返回做各种错误情况的处理,如果数据是null 的话,做相应的处理,格式不正确,也做相应的处理