the-fetch

1.6.0 • Public • Published

the-fetch

Original Fetch API with some additional helpful feature

Feature

  • Global onError callback function
  • Global base URL
  • Request & Response Intecpetors

Browser Support

Sorry ~ Only support the modern browsers

Installation

npm i the-fetch --save

Quick Start

import fetch from 'the-fetch'
 
fetch.defaults.base = 'https://www.xxx.com/' // set base URL
 
/**
 * If not set the response will resolve to json like
 * `fetch('').then(res => res.json())`
 * so in the example below you will see you can get json data only resolve once
 * If you want to resolve the res in another format you can pass the resolver in options like
 * `fetch('', { resolver: 'text' })` will resolve as `res.text()`
 * 
 */
fetch.get('/getData').then(res => console.log(res))
// or
fetch('/getData').then(res => console.log(res))
 
fetch.post('/addData', data, init).then(res => console.log(res))
// or
fetch('/addData', {
  method: 'POST',
  body: data
}).then(res => console.log(res))

Interceptor

import fetch from 'the-fetch'
 
// Use request interceptor to change the initial config
fetch.interceptors.request.use(config => {
  // this config is the final config that will pass to fetch(url, config)
  config.extra = 'Hello'
  return config
}, err => {
  return Promise.reject(err)
})
 
// Use response interceptor to do some extra work when request finished
fetch.interceptors.response.use(response => {
  return response
}, err => {
  console.log(err.message)
  return Promise.reject(err)
})

Readme

Keywords

Package Sidebar

Install

npm i the-fetch

Weekly Downloads

1

Version

1.6.0

License

MIT

Unpacked Size

11.4 kB

Total Files

10

Last publish

Collaborators

  • minimalistying