Vue中实现轮询请求的三种主流方案详解_vue.js

vue-request 是一个类 React 的 ahooks 风格的 Vue 数据请求 Hook 库,非常适合 Vue 3 + Composition API 项目。

import { defineComponent } from 'vue'import useRequest from 'vue-request'import axios from 'axios'export default defineComponent({ setup() { const fetchData = async () => { const res = await axios.get('/api/realtime-data') return res.data } const { data, loading } = useRequest(fetchData, { pollingWhenHidden: false, // 页面隐藏时不轮询 pollingInterval: 5000, // 每5秒请求一次 }) return () => ( {loading.value ? '加载中...' : JSON.stringify(data.value)} ) }})

优势:

@vueuse/core 提供了大量 Vue 3 的组合式函数,其中 useIntervalFn 是实现轮询的理想选择。

import { defineComponent, ref } from 'vue'import { useIntervalFn } from '@vueuse/core'import axios from 'axios'export default defineComponent({ setup() { const data = ref(null) const loading = ref(false) const fetchData = async () => { loading.value = true try { const res = await axios.get('/api/realtime-data') data.value = res.data } catch (error) { console.error('请求失败:', error) } finally { loading.value = false } } const { pause, resume, isActive } = useIntervalFn(fetchData, 5000, { immediate: true, callback: fetchData }) return () => ( {loading.value ? '加载中...' : JSON.stringify(data.value)} ) }})

优势:

RxJS 是一个强大的响应式编程库,适合需要构建复杂异步数据流的场景。

控制轮询频率,避免频繁请求影响性能。页面不可见时暂停轮询(如使用 visibilitychange 事件)

在组件销毁时清除定时器或取消订阅

请求失败时进行重试或提示用户

尽量减少并发请求数量,合理设置间隔时间

根据你的项目需求和技术栈,可以选择最适合的轮询方案。对于大多数中小型项目,推荐使用 vue-request  @vueuse/core;如果你有复杂的异步流程需求,rxjs 是更好的选择。

到此这篇关于Vue中实现轮询请求的三种主流方案详解的文章就介绍到这了,更多相关Vue轮询请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!


本文地址: https://www.earthnavs.com/jishuwz/5cf106a842f0c9b70250.html
全局中部横幅
GitHub

Jointheworld'smostwidelyadopted,AI-powereddeveloperplatformwheremillionsofdevelopers,businesses,andthelargestopensourcecommunitybuildsoftwarethatadvanceshumanity.

Chrome

该站点未添加描述description...

魔镜洞察

魔镜CMI基于国内外电商数据,消费者评论,社媒文本洞察消费市场,让你领先对手6个月,发现新机会;镜界AI专为消费市场研究而生,高增长发现,创新概念验证,品类调研,就用境界AI

邮箱登录

邮箱登录-次幂数据

YHOST分销系统官网

YHOST分销系统全网首发EP分销系统,杜绝服务器安秘钥泄露,集成化管理,通过简单的配置后即可开始你的分销之旅!

第一家混合云上市公司

青云作为技术领先的企业级云服务商与数字化解决方案提供商,坚持核心代码自研,构建端到端的数字化解决方案,持续打造云原生最佳实践,以中国科技服务数字中国。

530礼物网

530礼物网专注好礼物推荐与选购攻略,根据不同场景与对象,精心整理了各种生日礼物,结婚礼物,情人节礼物,圣诞节礼物,毕业礼物,让您挑选到适合的、令人满意的礼物。

直线网

直线网开创CG艺术学习的新模式,提供优质的PS、C4D、CAD、maya、CDR、AI、AE、3dmax、HOUDINI、ZBrush、NUKE、等软件教程,CG素材下载,作品发布,CG艺术在线学习和分享平台!

资源哟

资源哟(www.ziyuanyo.com)专注于网络资源收集整理分享,每天更新众多优质活动资讯、精品游戏辅助、实用软件资源、免费学习教程,找资源找福利,就来资源哟!

趣奇资源网

趣奇资源网掌握全网第一资讯共享基地为用户提供免费热门绿色精品软件,专注发布最新活动资讯,给用户打造了免费分享优质软件资源平台,保证无病毒、木马插件请大家放心使用。