когда я использую fetch в реагировать на натив и на редуксе, то fetch не может работать. Но catch может работать. Если есть ошибки. Он может предупредить мою нужную ошибку.
мой URL не localhost, его можно посетить.
Я использую тот же запрос на выборку в консоли браузера, он может работать.
Я пытаюсь использовать whatwg-fetch, но он все равно не запускается.
В моем fetch api:
export const getApi= (url: string, query: string, variables: any = null) => {
return new Promise((resolve: any, reject: any) => {
return fetch(url, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json;charset=utf-8',
},
body: JSON.stringify({
"query": `${query}`,
"variables": `${variables}`
})
})
.then((r: any) => r.json())
.then((res: { errors: any, data: any }) => {
if (res.errors) { reject(res.errors); return }
resolve(res.data)
})
.catch((e: any) => { alert('network error'); });
})
}
Логика в тогда не может быть выполнена, я пытаюсь затем утешить, но она не может работать. Почему тогда не может работать, я не знаю. Я использовал реактивную отладку для консоли, но ничего не произошло. если загрузка не удалась, ловушка будет работать, предупреждение может запуститься.
my package.json
"dependencies": {
"@types/react-redux": "^7.1.0",
"body-parser": "^1.19.0",
"cookie-parser": "^1.4.4",
"cors": "^2.8.5",
"express": "^4.17.1",
"express-graphql": "^0.7.1",
"mysql": "^2.17.1",
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-native": "^0.59.9",
"react-native-gesture-handler": "^1.3.0",
"react-navigation": "^3.11.0",
"react-redux": "^7.1.0",
"redux": "^4.0.1",
"redux-thunk": "^2.3.0",
"whatwg-fetch": "^3.0.0"
},
"devDependencies": {
"@types/react": "^16.8.21",
"@types/react-native": "^0.57.63",
"@types/react-navigation": "^3.0.7",
"babel-core": "7.0.0-bridge.0",
"babel-jest": "24.1.0",
"babel-preset-react": "^6.24.1",
"eslint": "^4.19.1",
"eslint-plugin-graphql": "^3.0.3",
"eslint-plugin-react": "^7.13.0",
"eslint-plugin-react-native": "^3.7.0",
"eslint-plugin-typescript": "^0.14.0",
"graphql": "^14.3.1",
"jest": "24.1.0",
"metro-react-native-babel-preset": "0.52.0",
"react-native-typescript-transformer": "^1.2.12",
"react-test-renderer": "16.6.3",
"typescript": "^3.5.2",
"typescript-eslint-parser": "^22.0.0"
},