fetch not defined in Safari (ReferenceError: Can't find variable: fetch)

Viewed 19947

For some reason fetch (https://fetch.spec.whatwg.org/) is not defined in Safari (Version 9.0.3), does anyone know why? It seems to be the standard and works fine in Chrome and Firefox. Can't seem to find anyone else having the same issue

I am using react with redux and here is some example code:

export function fetchData (url) {
  return dispatch => {
    dispatch(loading())
    fetch(url, {
      method: 'GET'
    })
    .then(response => {
      response.json()
      .then(data => {
        dispatch(success(data))
      })
    })
  }
}
2 Answers

Use whatwg-fetch polyfill. If you use webpack, you could just add it to entry point

entry: {
  app: ['whatwg-fetch', 'your-index.js']
}
Related