我尝试在每个功能异步响应之前捕获vue路由器,并在此功能中进行一些重定向。但是我省略了一些细节
我的捕手代码看起来像这样
router.beforeEach(async (to, from, next) => {
if (to.matched.some(route => route.meta.requiresUser === true)) {
await UserController.getUser().then(resp => {
if (typeof resp === "undefined") {
// eslint-disable-next-line no-console
console.log(resp);
alert("there is no user");
next("/register");
} else {
// eslint-disable-next-line no-console
console.log(resp);
alert();
next();
}
});
}
});
即使警报将在next("/register");
之前显示,也不会重定向到该路径。如何在router.beforeEach
内部进行异步调用进行比较,并在满足条件的情况下进行重定向?