|
@@ -63,6 +63,7 @@ onMounted(async () => {
|
|
|
// 离开此页面时,可能还有心跳请求未返回
|
|
|
onUnmounted(() => cancelHeartBeat && cancelHeartBeat());
|
|
|
|
|
|
+let handledNetworkException = false;
|
|
|
let cancelHeartBeat: Canceler;
|
|
|
async function getRemainTimeFromServer() {
|
|
|
if (store.exam.remainTime <= 0) {
|
|
@@ -102,6 +103,9 @@ async function getRemainTimeFromServer() {
|
|
|
});
|
|
|
remainTime = rt;
|
|
|
} catch (error) {
|
|
|
+ if (handledNetworkException) return;
|
|
|
+ // 如果不处理,由于心跳请求有多次,延迟下来,可能有多次心跳请求的错误处理会进下面
|
|
|
+ handledNetworkException = true;
|
|
|
const descMaybe: string | undefined = (error as any).response?.data?.desc;
|
|
|
if (descMaybe) {
|
|
|
$message.error(descMaybe);
|