function timeoutPromise(delayTime) {
return new Promise((resolve) => {
window.timeId = setTimeout(resolve, delayTime);
});
}
async function pollFetch() {
// eslint-disable-next-line no-constant-condition
while (true) {
const delayTime = 30 * 1000; // 轮询时间间隔
try {
getDataList();
await timeoutPromise(delayTime);
} catch (e) {
await timeoutPromise(delayTime);
}
}
}
onBeforeMount(() => {
pollFetch();
});
onUnmounted(() => {
window.timeId && clearInterval(window.timeId);
});
欢迎阅读!