zoukankan      html  css  js  c++  java
  • 如何降低应用软件的bug

    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等值转空字符串
  • 相关阅读:
    centos7.6 安装与配置 MongoDB yum方式
    MongoDB 介绍
    centos 关闭selinux
    前端 HTML标签属性
    前端 HTML 标签嵌套规则
    前端 HTML 标签分类
    前端 HTML body标签相关内容 常用标签 表单标签 form里面的 input标签介绍
    前端 HTML body标签相关内容 常用标签 表单标签 form 表单控件分类
    前端 HTML form表单标签 select标签 option 下拉框
    POJ 1426
  • 原文地址:https://www.cnblogs.com/jxjl/p/13723683.html
Copyright © 2011-2022 走看看