Не могу сделать сетевой запрос в реактивном - PullRequest
0 голосов
/ 20 июня 2019

Я использую сервис для доступа к геолокации пользователя.Проблема в том, что запрос работает ТОЛЬКО при включении режима «Проверка сети» в отладчике реагирования.

В противном случае происходит сбой с ошибкой:

    TypeError: Network request failed
    at XMLHttpRequest.xhr.onerror (whatwg-fetch.js:504)
    at XMLHttpRequest.dispatchEvent (event-target.js:172)
    at XMLHttpRequest.setReadyState (XMLHttpRequest.js:580)
    at XMLHttpRequest.__didCompleteResponse (XMLHttpRequest.js:394)
    at XMLHttpRequest.js:507
    at RCTDeviceEventEmitter.emit (EventEmitter.js:189)
    at MessageQueue.__callFunction (MessageQueue.js:366)
    at MessageQueue.js:106
    at MessageQueue.__guard (MessageQueue.js:314)
    at MessageQueue.callFunctionReturnFlushedQueue (MessageQueue.js:105)

Для выборки данных я использую обычную выборку, но уже пробовал XHR и axios с теми же результатами.

export function getUserGeoLocation() {
    const url = 'https://geoip.tradesmarter.com/json';

    return fetch(url)
        .then(response => response.json())
        .catch(error => {
            console.log(error);
        });
    } 

Тот же запрос работает на веб-платформе, которая использует Angular с jsonp.

export function getUserGeoLocation() {
  const url = 'https://geoip.tradesmarter.com/json';
  const opt = {
    timeout: 1000,
  };

  const promise = new Promise((resolve, reject) =>
    jsonp(url, opt, (err, data) => {
      if (err) {
        reject(err.message);
      } else {
        resolve(data);
      }
    })
  );
  return promise;
}

Кто-нибудь сталкивался с подобной проблемой?

1 Ответ

0 голосов
/ 23 июня 2019

Вы добавили сеть, т.е. разрешение на доступ в Интернет для Android и IOS

...