写JS时要注意...



  • 1. 使用promise时一定要使用resolve或reject返回结果!

    错误示例:

    async function foo() {
      return new Promise((resolve, reject) => {
        if (conditionA) {
          resolve();
        }
      });
    }
    

    正确:

    async function foo() {
      return new Promise((resolve, reject) => {
        if (conditionA) {
          resolve(data);
        } else {
          reject(error);
        }
      });
    }
    

    2. 使用await时放在try、catch块儿内,防止出错!

    正确:

    try {
          data = await request()
    } catch (errer) {
    //handle error
    }
    

    错误示例:

    替代文字
    同样,使用 JSON.parse等易出错代码时,最好也放在try、catch块儿内。

    3. 处理网络请求返回的结果前先判断!
    错误示例:

    request((res) => {
      //预期返回一个数组
      someData = res[0].name;
    });
    
    

    正确

    request((res) => {
      //预期返回一个数组
      if (Array.isArray(res) && res[0]) {
        someData = res[0].name;
      }
    });
    
    


  • await后面可以直接。catch


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待