1.2.15 • Published 4 years ago
@zcorky/fz v1.2.15
fz
A simply http client lib base fetch
Install
$ npm install @zcorky/fzUsage
// 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
4 years ago
1.2.10
4 years ago
1.2.11
4 years ago
1.2.14
4 years ago
1.2.15
4 years ago
1.2.9
4 years ago
1.2.8
4 years ago
1.2.7
4 years ago
1.2.5
5 years ago
1.2.4
5 years ago
1.2.3
5 years ago
1.2.2
5 years ago
1.2.0
5 years ago
1.2.1
5 years ago
1.1.2
5 years ago
1.1.1
5 years ago
1.1.0
5 years ago
1.0.10
5 years ago
1.0.9
5 years ago
1.0.7
6 years ago
1.0.6
6 years ago
1.0.5
6 years ago
1.0.4
7 years ago
1.0.3
7 years ago
1.0.2
7 years ago
1.0.1
7 years ago
1.0.0
7 years ago