fetch не определен в Safari (ReferenceError: не удается найти переменную: fetch)

почему-то fetch (https://fetch.spec.whatwg.org/) Не определен в Safari (версия 9.0.3), кто-нибудь знает почему? Кажется, это стандарт и отлично работает в Chrome и Firefox. Не могу найти никого, у кого есть такая же проблема

Я использую react с redux и вот пример кода:

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

2 ответов


Вы можете использовать https://github.com/github/fetch polyfill для неподдерживаемых браузеров.

npm install whatwg-fetch --save; 

Edit: (в комментариях)

добавить

import 'whatwg-fetch'; 

в каждом файле перед использованием fetch-oliviergg


использовать whatwg-fetch полифилл. Если вы используете webpack, вы можете просто добавить его в точку входа

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