Vue-Router升级后如何避免Uncaught (in promise)的Promise错误?
- 内容介绍
- 文章标签
- 相关推荐
本文共计747个文字,预计阅读时间需要3分钟。
在升级Vue-Router版本到3.1.0及以上后,页面在跳转路由控制台会报Uncaught (in promise),这是为什么?查看vue-router的版本更新日志,V3.1.0版本中新增加了push和replace方法会返回。
在升级了Vue-Router版本到到3.1.0及以上之后,页面在跳转路由控制台会报Uncaught (in promise)的问题
这是什么原因呢?
看vue-router的版本更新日志
V3.1.0版本里面新增功能:push和replace方法会返回一个promise, 你可能在控制台看到未捕获的异常
解决方法一:在调用方法的时候用catch捕获异常
this.$router.replace({ name: 'foo' }).catch(err => { console.log('all good') })
方法二: 对Router原型链上的push、replace方法进行重写,这样就不用每次调用方法都要加上catch。
本文共计747个文字,预计阅读时间需要3分钟。
在升级Vue-Router版本到3.1.0及以上后,页面在跳转路由控制台会报Uncaught (in promise),这是为什么?查看vue-router的版本更新日志,V3.1.0版本中新增加了push和replace方法会返回。
在升级了Vue-Router版本到到3.1.0及以上之后,页面在跳转路由控制台会报Uncaught (in promise)的问题
这是什么原因呢?
看vue-router的版本更新日志
V3.1.0版本里面新增功能:push和replace方法会返回一个promise, 你可能在控制台看到未捕获的异常
解决方法一:在调用方法的时候用catch捕获异常
this.$router.replace({ name: 'foo' }).catch(err => { console.log('all good') })
方法二: 对Router原型链上的push、replace方法进行重写,这样就不用每次调用方法都要加上catch。

