javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > js中try catch用法

js中try catch使用遇到的问题

作者:那只猫喝咖啡

大家应该都知道try…catch的作用是测试代码中的错误,下面这篇文章主要给大家介绍了关于js中try catch使用遇到的问题,文中将问题的解决办法介绍的非常详细,需要的朋友可以参考下

try…catch语法,简单来说就是用来捕获异常的,我就简述一下我遇到的问题

当使用vuex在actions发请求时,这个接口不仅可以添加购物车数据,同时也可更新产品的数量,我就在更新产品数量的地方出现了问题,

 先说说我的问题:点击增加/减少产品数量,第一次点击+,确实发请求了,但是数据并没有发生改变,第二次点击数值直接变成12,跳过了展示11的过程。于是我开始排查代码。。。。。

 利用try...catch可捕获代码异常,当然,我的代码并没有报错,但是使用了try...catch之后确实功能正常了。所以我觉得我们要养成使用try...catch的习惯,用在哪?

当后台报错时,你可以用try...catch捕获错误,缩小检查范围。

在发请求时,可使用,因为发请求时的

 其实就是给try...catch用的,一旦数据没回来或者异常,能较准确的告诉你哪里出了什么问题,提高编码效率。try...catch在组件中使用时,我们是需要知道请求的结果的,所以写了一个判断,让try...catch提供给我们报错的详细信息

例如:我进行路由跳转之前要发请求,请求成功时,再路由跳转,否则报错,这时,就用try...catch包裹这个请求,这样如果出现报错,那一定是请求出现了问题,所以各位尽量用。

这个try...catch我个人理解,目前它比捕获异常作用还大的就是能够保证代码能够顺序进行,减少bug,虽然不报错,但是有些逻辑问题存在,一旦使用了就没事了。

怎么用?仅仅是包裹吗?

首先我们要知道

this.$store.dispatch("XXXXX")//这个的返回值是什么?是promise对象

如何证明?

你可以let result=this.$store.dispatch("XXXXX")//打印一下试试

既然是一个promise对象,那就得用await来等待,而await和async是CP,所以要配合使用,仅看画框的即可。

 唉,虽然写起来比较麻烦,但是确实能缩小检查错误的范围,具体详细的介绍或许你可以拿出一点时间去学习一下es6新语法,在那里你可以获得更多更详细更全面的知识体系,诸君加油!

总结

到此这篇关于js中try catch使用遇到的问题的文章就介绍到这了,更多相关js中try catch用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文