A wrapper around fetch.
npm install wonderful-fetch
Site | NPM Module | GitHub Repo
wonderful-fetch is an easy wrapper for the fetch api that works in Node.js and the browser!

ok and then parse the response as JSON.js
fetch('https://httpbin.org/json')
.then((response) => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then((data) => console.log(data))
.catch((error) => console.error(error));
`ðĶ The Wonderful Fetch way
With Wonderful Fetch, you can automatically parse the response as JSON and handle all http errors with a single line of code.
`js
wonderfulFetch('https://httpbin.org/json', {response: 'json'})
.then((response) => console.log(response))
.catch((error) => console.error(error));
`ðĶ Install Wonderful Fetch
$3
Install with npm if you plan to use wonderful-fetch in a Node project or in the browser.
`shell
npm install wonderful-fetch
`
If you plan to use wonderful-fetch in a browser environment, you will probably need to use Webpack, Browserify, or a similar service to compile it.`js
const wonderfulFetch = require('wonderful-fetch');
wonderfulFetch();
`$3
Install with CDN if you plan to use Wonderful Fetch only in a browser environment.
`html
`ð Using Wonderful Fetch
After you have followed the install step, you can start using wonderful-fetch to make requests to any URL$3
Make a request to the supplied url with options.This library returns a
Promise that will resolve if the status code is in the 200 - 299 range and will reject if the status code is outside that range or if the download of the file fails.#### options
The options for
wonderfulFetch(url, options) are as follows.
* url string: The URL of the resource
* Acceptable Values: any
* Default: null
* options object: Advanced options
* method string: The type of request
* Acceptable Values: get, post, delete, put, patch
* Default: get
* response string: Automatically format the response
* Acceptable Values: raw, json, text
* Default: raw
* timeout number: The request will automatically timeout after this
* Acceptable Values: any
* Default: 60000
* tries number: The amount of attempts to the URL. Enter -1 for infinity.
* Acceptable Values: any
* Default: 1
* cacheBreaker boolean, any: Will append ?cb={currentTime} to the URL if true or whatever value you specify.
* Acceptable Values: true, false, any
* Default: true
* download string: Will download the response to this path
* Acceptable Values: any
* Default: null#### Examples
##### Basic Fetch
Perform a basic fetch request.
`js
wonderfulFetch('https://httpbin.org/status/200', {method: 'get'})
.then((response) => console.log(response))
.catch((error) => console.error(error));
`##### Basic Fetch JSON
Perform a basic fetch request and return the response as JSON.
`js
wonderfulFetch('https://httpbin.org/status/200', {method: 'get', response: 'json'})
.then((response) => console.log(response))
.catch((error) => console.error(error));
`##### Download File
Download a file to the specified
download path. Node.js only.
`js
wonderfulFetch('https://httpbin.org/image/png', {download: './image.png'})
.then((response) => console.log(response))
.catch((error) => console.error(error));
`
##### Handle Errors with
catch
Handle errors with the catch method.
`js
wonderfulFetch('https://httpbin.org/status/404', {method: 'get'})
.then((response) => console.log(response))
.catch((error) => console.error(error));
``Ask us to have your project listed! :)