vue3-request

A Vue3 asynchronous request processing library, designed to simplify your asynchronous operations and API calls.
1,942 970
Install
npm install vue3-request
Latest Version:1.0.33
Vue:3
License:ISC
Last Updated:Oct 19, 2026
Links: GitHub  ·  npm
Maintainer: fanshaolei

更多内容请查看文档

演练场

核心优势

Vue3-Request 是一个专为 Vue 3 设计的异步请求处理库,它通过统一的 useRequest Hook 和强大的插件生态,彻底简化了异步操作和 API 调用的复杂性:

✨ 统一状态管理

  • 🚀 所有数据都具有响应式
  • 📊 自动管理 loading、data、res、error、signal、params 等状态
  • 🔄 提供 run、runAsync、refresh、cancel、abort 等便捷方法
  • 🎛️ 支持手动和自动执行模式,满足不同业务场景

🧩 强大的插件生态 内置 9 大核心插件,开箱即用:

  • 取消请求 请求中止
  • 🔄 错误重试
  • ⚡ 防抖节流
  • 💾 智能缓存
  • 🔁 轮询请求
  • 👁️ 窗口聚焦刷新
  • 📦 依赖刷新
  • ⏳ 准备状态控制
  • 💻 完整 TypeScript 支持
  • 🔌 框架无关
  • 📝 丰富的生命周期
  • 🎨 可扩展架构
  • 📚 完善文档

⚡ 快速安装

pnpm add vue3-request
# or
npm i vue3-request
# or
yarn add vue3-request
# or
cnpm i vue3-request

🚀 5 分钟上手

<template>
  <div>
    <div v-if="loading">加载中...</div>
    <div v-else-if="error">{{ error.message }}</div>
    <div v-else>{{ data }}</div>
    <button @click="refresh">刷新</button>
    <button @click="abort">中止</button>
  </div>
</template>

<script setup lang="ts">
import { useRequest } from "vue3-request";

const getUserInfo = async () => {
  const response = await fetch("/api/userInfo", {
    signal: signal.value,
  });
  return response.json();
};

// 一行代码搞定状态管理
const { data, error, loading, signal, refresh, abort } = useRequest(getUserInfo);
</script>

Related Packages

ym-userequest

useRequest for vue3

1,734 3
vue-promised

Some awesome description

196,417 1,928
vue-lazily

The easiest way to lazy load your content

12,617
vue-asyncx

语义化的 Vue 异步组合式工具库

2,873 5

Version History

Version Released Vue License
1.0.33 ^3.5.17 ISC
1.0.32 ^3.5.17 ISC
1.0.31 ^3.5.17 ISC
1.0.30 ^3.5.17 ISC
1.0.28 ^3.5.17 ISC