Я использую fetch, чтобы вызвать некоторые вызовы API в реакции-native, иногда случайным образом выборка не запускает запросы на сервер, а мои тогда или только блоки не вызываются. Это случается случайным образом, я думаю, что может быть состояние гонки или что-то подобное. После неудачных запросов один раз так, запросы к одному API никогда не будут уволены, пока я не перезагружу приложение. Любые идеи, как проследить причину этого. Код, который я использовал, приведен ниже.реагировать на нативную выборку, не вызывая тогда, или улавливать
const host = liveBaseHost;
const url = `${host}${route}?observer_id=${user._id}`;
let options = Object.assign({
method: verb
}, params
? {
body: JSON.stringify(params)
}
: null);
options.headers = NimbusApi.headers(user)
return fetch(url, options).then(resp => {
let json = resp.json();
if (resp.ok) {
return json
}
return json.then(err => {
throw err
});
}).then(json => json);
попробуйте добавить блок catch следующим образом: .catch (error => error) –
Это происходит только при отладке в Chrome? Если это так, я могу быть связан с [этой проблемой] (https://github.com/facebook/react-native/issues/6679). Попробуйте добавить 'setTimeout (() => null, 0);' before 'resp.json()'. – ncuillery
@ncuillery спасибо за ваш ответ, это происходит не только в хроме, это также происходит в тестовых сборках приложения. Я видел проблему, о которой вы упоминали, но моя была немного иной. В этом случае метод resp, json() блокируется, но в моем случае последующий блок никогда не выполняется, даже если метод выборки вызывается несколько раз. –