在我的路由器中,在我进入页面之前,我启动了一个rest api请求,通过beforeEnter
子句从服务器中获取数据,如下所示:
beforeEnter: (to, form, next) => {
getData().then(
(response) => {
//some logic to get data
next(); //if no error redirect to page
},
(error) => {
next(false); //on error not redirect on page - on this moment i want to show info about internal server error
});
}
和现在我有一个问题,如何显示toast/通知"内部服务器错误"当我有一个错误在我的beforeEnter
?
谢谢你的帮助
嗯,好的,我来做
在错误:
(error) => {
HelpersService.internalServerErrorToast();
next(false);
}
在服务:
internalServerErrorToast() {
let bootStrapToaster = new BToast();
bootStrapToaster.$bvToast.toast("500", {
title: "Internal Server Error",
toaster: "b-toaster-bottom-right",
solid: true,
variant: "danger",
appendToast: false,
noCloseButton: true,
toastClass: "internalErrorToast",
});
}
为什么不使用catch ?如果您正在使用then
,您可以使用catch
。
beforeEnter: function(to, form, next) {
this.getData().then((response) => {
next();
}).catch(error => {
throw error
})
}
试试这个。如果不工作,注释,我们将做其他事情。