1.2.15 • Published 2 years ago
@zcorky/fz v1.2.15
fz
A simply http client lib base fetch
Install
$ npm install @zcorky/fz
Usage
// typescript
import fz from '@zcorky/fz';
(async () => {
const json = await fz.post('https://some-api.com', {json: {foo: true}}).json();
console.log(json);
//=> `{data: '🦄'}`
})();
API
fz.get(input, options)
fz.post(input, options)
fz.put(input, options)
fz.patch(input, options)
fz.head(input, options)
fz.delete(input, options)
Supported features
- url parameter is automatically serialized
- post data submission method is simplified
- response return processing simplification
- api timeout support
- api request cache support
- support for processing gbk
- request and response interceptor support like axios
- unified error handling
- middleware support
- cancel request support like axios
- make http request from node.js
Features
// When 400 BadRequest
Fz.onUnauthorized(async (response, options) => {
// Do Something
});
// When 401 Unauthorized
Fz.onUnauthorized(async (response, options) => {
// Do Something
});
// When 403 Forbidden
Fz.onForbidden(async (response, options) => {
// Do Something
});
// When 404 Not Found
Fz.onNotFound(async (response, options) => {
//
});
// When 405 Method Not Allowed
Fz.onMethodNotAllowed(async (response, options) => {
//
});
// When 429 Too Many Requests
Fz.onRateLimited(async (response, options) => {
//
});
// When 500 Internal Server Error
Fz.onInternalServerError(async (response, options) => {
//
});
// Apply Global Loading
Fz.enableShowLoading();
Fz.loading(
async start() {
XXUI.showLoading();
},
async end() {
XXUI.hideLoading();
},
);
fz vs umi-request vs fetch vs axios
Features | fz | umi-request | fetch | axios |
---|---|---|---|---|
implementation | Browser native support | Browser native support | Browser native support | XMLHttpRequest |
size | 3.4k | 9k | 4k (polyfill) | 14k |
query simplification | ✅ | ✅ | ❎ | ✅ |
params simplification | ✅ | ❎ | ❎ | ❎ |
post simplification | ✅ | ✅ | ❎ | ❎ |
timeout | ✅ | ✅ | ❎ | ✅ |
cache | ❎ | ✅ | ❎ | ❎ |
error Check | ✅ | ✅ | ❎ | ❎ |
error Handling | ❎ | ✅ | ❎ | ✅ |
interceptor | ✅ | ✅ | ❎ | ✅ |
prefix | ✅ | ✅ | ❎ | ❎ |
suffix | ✅ | ✅ | ❎ | ❎ |
processing gbk | ❎ | ✅ | ❎ | ❎ |
middleware | ✅ | ✅ | ❎ | ❎ |
cancel request | ❎ | ✅ | ❎ | ✅ |
For more discussion, refer to Traditional Ajax is dead, Fetch eternal life If you have good suggestions and needs, please mention issue
TODO Welcome pr
- Test case coverage 85%+
- write a document
- CI integration
- release configuration
- typescript
Relatived
- ky - Tiny and elegant HTTP client based on the browser Fetch API
License
MIT © Moeover
1.2.12
2 years ago
1.2.10
2 years ago
1.2.11
2 years ago
1.2.14
2 years ago
1.2.15
2 years ago
1.2.9
3 years ago
1.2.8
3 years ago
1.2.7
3 years ago
1.2.5
4 years ago
1.2.4
4 years ago
1.2.3
4 years ago
1.2.2
4 years ago
1.2.0
4 years ago
1.2.1
4 years ago
1.1.2
4 years ago
1.1.1
4 years ago
1.1.0
4 years ago
1.0.10
4 years ago
1.0.9
4 years ago
1.0.7
5 years ago
1.0.6
5 years ago
1.0.5
5 years ago
1.0.4
5 years ago
1.0.3
5 years ago
1.0.2
6 years ago
1.0.1
6 years ago
1.0.0
6 years ago