扫一扫分享
Alova轻量级的请求策略库,它针对不同请求场景分别提供了具有针对性的请求策略,来提升应用可用性、流畅性,降低服务端压力,让应用如智者一般具备卓越的策略思维。
alova 的创建初衷是对不同请求场景提出的一个解决方案,它可以更简洁优雅地实现体验更好,性能更好的请求功能,是一个 RSM 实现库,而例如$.ajax、axios 和 fetch-api 等对请求发送和响应接收提供了很好的支持,它们是 RSM 流程中必不可少的一个环节(请求事件环节),alova 仍然需要依靠它们进行请求,因此我们可以将 alova 看作是请求库的一种武装,让请求库变得更加强大。
请求场景模型是以客户端视角的,描述客户端从触发请求意图到接收请求结果的抽象模型,分别由请求时机、请求行为、请求事件以及响应管理四个阶段组成。例如在进行一次请求时经常需要思考以下问题,
fetch或axios往往更专注于如何与服务端交互,但对于上面的问题我们总是需要自己处理,这些有利于应用性能和稳定性的功能,总会让程序员们编写出低维护性的代码。请求场景模型就是从准备请求到响应数据加工完毕的所有环节进行抽象,从而覆盖以前端为视角的,整个 CS 交互生命周期的模型。alova就是一个以请求场景模型的库,它是对axios等请求库的一种补充,而非替代品。
# 使用 npm
npm install alova --save
# 使用 yarn
yarn add alova
import { createAlova } from 'alova';
import VueHook from 'alova/vue';
import { createAlovaMockAdapter, defineMock } from '@alova/mock';
// mock data
const mockData = defineMock({
'/get-list': ['apple', 'banana', 'orange'],
});
// create a alova instance
const alovaInst = createAlova({
baseURL: 'http://example.com',
statesHook: VueHook,
requestAdapter: createAlovaMockAdapter([mockData], { delay: 1500 }),
responsed: (response) => response.json(),
});
export const getData = () => alovaInst.Get('/get-list');
手机预览