undefined.xxx ==???

问题描述

 const res = await api.getIndexData()
 if (res.errno !== 0 || res === undefined) {
        console.log(res);
        return 0
      }

res为undefined时不会执行,if里面的内容,也不会往下执行。

问题出现的环境背景及自己尝试过哪些方法

改成如下正常执行if里面的内容然后return。

  if (res === undefined || res.errno !== 0 ) {
            console.log(res);
            return 0
          }

如果在浏览器跑里会直接报错,但是写在VUEX里却不会报错,不过函数貌似直接终止了,想问下内部原理是什么?

阅读 1.9k
2 个回答

没有去细看源码,不外乎就是 Vuex 或者 Vue(errorHandler) 接管你的函数的时候会在外层加一个 try-catch 之类的操作,所以就不会报错。

try-catch,肯定出错了,不过被处理了,你自己也可以添加try-catch来处理可能出现的错误。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题