在我的路由器中,在我进入页面之前,我启动了一个 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
});
}
现在我有一个问题,当我的 beforeEnter
出现错误时,如何显示带有“内部服务器错误”信息的 Toast/通知?
感谢您的帮助
答案 0 :(得分:0)
嗯,好的,我做
出错:
(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",
});
}
答案 1 :(得分:0)
为什么不使用 catch。如果您使用的是 then
,则可以使用 catch
。
beforeEnter: function(to, form, next) {
this.getData().then((response) => {
next();
}).catch(error => {
throw error
})
}
试试这个。如果不行,请评论,我们会做其他事情。