场景描述
维护系统升级时,客户提了一个需求,在原有功能下在加入一个新功能,当数据发送市区系统成后,需要把数据同步到镇街系统;
发送市区已经有提示信息了,这次我没有处理同步镇街提示信息
上生产一段时间后,某天上午,实施人员发来一个截图给我,说:“日志里面报错了,页面是提示成功了,而我看镇街系统后台表数据的时候,发现没收到同步数据”;
我先看的后台代码逻辑,发现确实有个这样的bug,但是由于我前段调用同步镇街接口时,未处理接口的返回信息,导致我现在要花好多时间去检查所有数据是否也存着这个问题,并对这条错误进行纠正;辛运的是,这次实施人员偶然的日志查看比较及时,这个功能用得时间也不久,客户那边只有几条错误数据;
以后对自己代码不能太自信,以后自己测试了几次没问题,就不给接口错误信息处理;正确的逻辑处理是,可以省略接口成功消息提示,但一定要给接口错误时提示处理;不然后台出现了这种隐藏问题,页面提示成功,这样都没人知道有这这样一个bug;
场景代码
<script>
var formData = {};
$.httpPost( $.rootUrl + '/发送市区', formData, function (res) {
if (res.code == 200) {
//发送市区系统成功
$.successMsg(res.info);
// 刷新表格数据
$.flushData();
//当发送市区系统成功时,将数据同步到镇街系统
var getId = $.getVal(formData);
// 注释原来代码,加上失败时处理
// $.httpGet($.rootUrl + '/同步镇街?id=' + getId );
//修改后的代码,即使客户不要成功提示,应该给出失败时的提示信息,方便及时找出问题
var resData = $.httpGet($.rootUrl + '/同步镇街?id=' + getId );
if (resData.code != 200) {
//同步镇街系统失败
$.errorMsg(resData.info);
}
} else {
//发送市区系统失败
$.errorMsg(res.info);
}
});
</script>