码迷,mamicode.com
首页 > 其他好文 > 详细

如何降低应用软件的bug

时间:2020-09-24 21:58:00      阅读:43      评论:0      收藏:0      [点我收藏+]

标签:函数   col   参数   请求   null   load   保存   应用软件   开发   

1. 深层对象的读取,后端返回一个null导致前端报错

//开发场景,有时后端接口返回的字段的数据为null,导致前端有时不能读取深度值
let obj= {a:null}
const { b } = obj.a // 对一个不存在的字段值继续取字段,导致报错
  • 解决方案:
// 解决方案1, 增加default值 
const { b } = obj.a || {}
//解决方案2:
function safeGet(run, defaultValue) { 
  try {
    return run()
  } catch(e){
    return defaultValue 
  } 
}
const { b } = saveGet(() => obj.a, {})

2. 连续点击导致多次触发事件。

// 增加防治措施,还要注意保证请求失败也要将接口放开,保证可以请求
// 解决方案
检测变量值是否是false, false则直接返回
调用开始--->设一个变量值为false,接口返回则将变量重置为true。如果中途报错了或者参数不对也应该置位true

3. 保存事件的参数,依赖其他接口返回数据。(弱网条件下,没拿到数据直接保存导致数据缺失报错。网络正常无问题

// 如果这个接口返回的数据会影响到后续的执行, 那么这个接口调用必须加上loading

4. url跳转传递的参数全是字符串, 其中(true, false, undefined, null)这些值都会变成字符串。不注意就很容易出bug

// 解析的时候需要对此注意一下

5.解构赋值如果这个字段不存在就会解构出undefined,如果将这个值作为请求参数的值会导致报错。如果没值应该传空字符串

// 对封装的请求函数, 将传入的参数进行处理将undefined和null等值转空字符串

 

如何降低应用软件的bug

标签:函数   col   参数   请求   null   load   保存   应用软件   开发   

原文地址:https://www.cnblogs.com/jxjl/p/13723683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!