Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matthew-andrews/isomorphic-fetch
Isomorphic WHATWG Fetch API, for Node & Browserify
https://github.com/matthew-andrews/isomorphic-fetch
Last synced: 5 days ago
JSON representation
Isomorphic WHATWG Fetch API, for Node & Browserify
- Host: GitHub
- URL: https://github.com/matthew-andrews/isomorphic-fetch
- Owner: matthew-andrews
- License: mit
- Created: 2014-11-07T08:46:13.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-06-27T10:34:24.000Z (6 months ago)
- Last Synced: 2024-11-25T09:03:22.354Z (19 days ago)
- Language: JavaScript
- Homepage:
- Size: 57.6 KB
- Stars: 6,953
- Watchers: 80
- Forks: 287
- Open Issues: 56
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - matthew-andrews/isomorphic-fetch - Isomorphic WHATWG Fetch API, for Node & Browserify (JavaScript)
- awesome-nodejs - isomorphic-fetch - Isomorphic WHATWG Fetch API, for Node & Browserify. ![](https://img.shields.io/github/stars/matthew-andrews/isomorphic-fetch.svg?style=social&label=Star) (Repository / HTTP)
README
isomorphic-fetch [![Build Status](https://travis-ci.org/matthew-andrews/isomorphic-fetch.svg?branch=master)](https://travis-ci.org/matthew-andrews/isomorphic-fetch)
================Fetch for node and Browserify. Built on top of [GitHub's WHATWG Fetch polyfill](https://github.com/github/fetch).
## Warnings
- This adds `fetch` as a global so that its API is consistent between client and server.
For [ease-of-maintenance and backward-compatibility reasons][why polyfill], this library will always be a polyfill. As a "safe" alternative, which does not modify the global, consider [fetch-ponyfill][].
[why polyfill]: https://github.com/matthew-andrews/isomorphic-fetch/issues/31#issuecomment-149668361
[fetch-ponyfill]: https://github.com/qubyte/fetch-ponyfill## Why Use Isomorphic Fetch
The Fetch API is currently [not implemented consistently](http://caniuse.com/#search=fetch) across browsers. This module will enable you to use `fetch` in your Node code in a cross-browser compliant fashion. The Fetch API is part of the Web platform API defined by the standards bodies WHATWG and W3C.
## Installation
### NPM
```sh
npm install --save isomorphic-fetch
```### Bower
```sh
bower install --save isomorphic-fetch
```## Usage
```js
require('isomorphic-fetch');fetch('//offline-news-api.herokuapp.com/stories')
.then(function(response) {
if (response.status >= 400) {
throw new Error("Bad response from server");
}
return response.json();
})
.then(function(stories) {
console.log(stories);
});
```## License
All open source code released by FT Labs is licenced under the MIT licence. Based on [the fine work by](https://github.com/github/fetch/pull/31) **[jxck](https://github.com/Jxck)**.
## Alternatives
- [cross-fetch](https://github.com/lquixada/cross-fetch#why-not-isomorphic-fetch)
- Using [node-fetch](https://github.com/node-fetch/node-fetch) and the [Fetch polyfill](https://github.com/github/fetch) directly (or from [polyfill.io](https://polyfill.io), or relying on [the browser's implementation of the Fetch API](https://caniuse.com/fetch)).