Vue 3 逻辑复用怎么处理异步请求与错误捕获的统一封装

浅静姑娘_4532

浅静姑娘_4532

2026-10-22

764人浏览

原创

vue 3 异步请求统一封装核心是组合式函数 userequest,固定返回 data/loading/error 三元组状态,接收异步函数而非 url,内置错误分级处理、abortcontroller 清理及卸载防护。

vue 3 逻辑复用怎么处理异步请求与错误捕获的统一封装

Vue 3 中处理异步请求与错误捕获的统一封装,核心是用组合式函数(Composable)把“请求逻辑”“状态管理”和“错误处理”三者解耦并标准化,而不是在每个组件里重复写 try/catch、loading = true、error.value = … 这类样板代码。

统一状态结构:固定 data / loading / error 三元组

所有异步请求都应返回一致的状态结构,便于模板统一消费:

  • data:ref 包裹的响应数据,默认为 null 或初始值(如空数组)
  • loading:ref,标识请求是否进行中
  • error:ref,捕获并标准化错误信息

不建议直接暴露原始 Promise 或 throw 错误到模板层——这会让组件承担本该由组合函数处理的异常流控制。

封装 useRequest:接收函数而非 URL,提升灵活性

推荐以“传入异步函数”为设计入口,而非硬编码 URL 或请求库:

  • 支持任意请求方式:axios、fetch、自定义 SDK,甚至模拟数据函数
  • 便于单元测试:可直接传入 mock 函数,无需 mock 全局 fetch
  • 天然支持参数透传和类型推导(尤其配合 TypeScript)

示例关键逻辑:

vue-composition-api-best-practices
vue-composition-api-best-practices

Vue 3 组合式 API 与

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 17.2万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.4万人学习

Vue.js 微实战--十天技能课堂
Vue.js 微实战--十天技能课堂

共18课时 | 1.7万人学习