1. 起因
一开始没有用上token验证,代码跑的好好的。
然后利用axios的请求拦截器加上token后,在最新的或者说较新的chrome里,都没问题,但是比较老旧的比如chrome59版本的浏览器就直接catch到报错,但是报错内容是空的!!!undefined报错!!
期间用时至少6小时才排查出来,简直了。
下面这段代码看起来有问题吗?
2. 可能问题
2.1 老版本浏览器不支持promise?
一度差点以为这就是答案,因为用手动加token的axios来访问就是ok的。但只要用上拦截器就是catch到undefined报错,不理解
加插件,让不支持promise的也支持,也是报错
只能一行代码一行代码的试
最后发现,其实promise是支持的,那就奇怪了
2.2 老版本浏览器不支持replaceAll?
YES!!!!
请看下图,假如在框里用了replaceAll,
replaceAll要2020年后的chrome浏览器才支持!
至此,问题发现了,那就好解决了,一开始那个undefined,真的不知道哪里出的问题了。
3. 总结
用时6小时+,有时候不合预期的代码表现,肯定是有问题的,但就是报错没报出来,这时候真的就只能保持住耐心一点一点试了,等定位到了,就哦原来是这样的,但中间真的就浪费太多时间精力了。
写个文章吐槽一下~