下面是我的router.js文件的代码的一部分。我在这里面临的问题是,我已经在axios请求外部初始化了一个变量令牌,并在axios请求的响应中为其分配了response.data的值。我在这里面临的问题是我无法在axios请求之外访问token = response.data;
的值。如果我尝试在控制台中将其打印出来,它将显示为空,而不是显示在响应请求中分配的response.data的值。但是我可以在响应内部而不是外部的控制台中打印输出。请帮助我解决此问题。
router.js
router.beforeEach(function(to, from, next) {
if (to.matched.some(record => record.meta.requiresAuth)) {
var token;
axios.get('/verified.json')
axios.get('/agent.json')
.then(function(response) {
if (to.path === '/change-password' || to.path === '/login') {
next('/');
return;
}
if ((from.path === '/registration' || to.path.match(/profile/))) {
axios.get('/agent_token.json')
.then(function(response) {
token = response.data;
console.log(token);
});
console.log(token);
next(false);
}
else {
next();
}
})
.catch(function() {
if (to.path.match(/profile/)) {
next('/');
return;
}
next();
});
}
else {
next();
}
});