Fetch for node and Browserify. Built on top of GitHub's WHATWG Fetch polyfill.
Use https://github.com/lquixada/cross-fetch - this has Promise and react-native support out of the box.
- This adds
fetch
as a global so that its API is consistent between client and server. - You must bring your own ES6 Promise compatible polyfill, I suggest es6-promise.
For ease-of-maintenance and backward-compatibility reasons, this library will always be a polyfill. As a "safe" alternative, which does not modify the global, consider fetch-ponyfill.
npm install --save isomorphic-fetch es6-promise
bower install --save isomorphic-fetch es6-promise
require('es6-promise').polyfill();
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);
});
All open source code released by FT Labs is licenced under the MIT licence. Based on the fine work by jxck.