业务中使用了promise, 调试代码的时候遇到这个问题,百思不得其解,检查了两三遍,异步编程没错啊,为什么会出现这个错误呢?代码如下:
async logout() {
await this.$store.dispatch("user/logout");
this.$router.push(`/login?redirect=${this.$route.fullPath}`);
}
经仔细检查,发现是没有进行错误捕获而导致的
正确写法是:
async logout() {
await this.$store.dispatch("user/logout").catch(() => {});
this.$router.push(`/login?redirect=${this.$route.fullPath}`);
}
这样,问题就解决啦