Необработанный отказ от обещания: ошибка: ошибка сети - PullRequest
1 голос
/ 11 марта 2020

Я пытаюсь получить данные из API.

Я сделал это:

const testScreen=()=>{

const c =  axios.get("http://localhost:3000/unverifiedProperty/warehouse",{
    headers:{
        'Authorization':'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InN1dGhhcmhpbWFzbmh1OThAZ21haWwuY29tIiwiaWF0IjoxNTgzODY0NjgwfQ.fxclNhIaNkTnINwOinqFRitX_AA7nQCrLtaFBLY99Tc'
    }
})
console.log(c)

return(
    <View>
        <Text>This is test Screen</Text>

    </View>
)}

Я хочу получать данные, используя запросы get.

В терминале я получаю это:

  Running application on Himanshu.
  Promise {
  "_40": 0,
  "_55": null,
  "_65": 0,
  "_72": null,
  }

[Unhandled promise rejection: Error: Network Error]
- node_modules\axios\lib\core\createError.js:15:17 in createError
- node_modules\axios\lib\adapters\xhr.js:78:22 in handleError
- node_modules\event-target-shim\dist\event-target-shim.js:818:39 in EventTarget.prototype.dispatchEvent
- node_modules\react-native\Libraries\Network\XMLHttpRequest.js:574:29 in setReadyState
- node_modules\react-native\Libraries\Network\XMLHttpRequest.js:388:25 in __didCompleteResponse
- node_modules\react-native\Libraries\vendor\emitter\EventEmitter.js:190:12 in emit
- node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:436:47 in __callFunction
- node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:111:26 in __guard$argument_0
- node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:384:10 in __guard
- node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:110:17 in __guard$argument_0
* [native code]:null in callFunctionReturnFlushedQueue

Я убедился, используя почтальон, что у меня нет проблем с сетью. Вы можете проверить на этом скриншоте: enter image description here

Пожалуйста, помогите мне здесь.

Ответы [ 3 ]

0 голосов
/ 11 марта 2020

Это пример топора ios .get для получения данных с сервера

const c = axios
  .get("http://localhost:3000/unverifiedProperty/warehouse", {
    headers: {
       Authorization: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InN1dGhhcmhpbWFzbmh1OThAZ21haWwuY29tIiwiaWF0IjoxNTgzODY0NjgwfQ.fxclNhIaNkTnINwOinqFRitX_AA7nQCrLtaFBLY99Tc"
    }
  })
  .then(res => res) //Response from the server
  .catch(err => err); 

Я думаю, что ваша проблема связана с именем localhost , если вы тестируете на Android эмулятор

вместо localhost попробуйте этот IP-адрес 10.0.2.2

Как это:

http://10.0.2.2:3000/unverifiedProperty/warehouse
0 голосов
/ 11 марта 2020

Иногда, если мы используем Localhost, ошибки обычно возникают по мере вашего возникновения, попробуйте использовать IP-адрес вашего компьютера.

Если вы пользователь Linux или Ma c, вы можете проверить это ifconfig

Если вы пользователь windows, вы можете использовать команду: ipconfig в cmd

Затем замените localhost вашим IP-адресом.

0 голосов
/ 11 марта 2020

Во-первых, закрывающая скобка экрана проверки функции (}) отсутствует

, во-вторых, ax ios .get (или любой другой метод) возвращает обещание. чтобы получить доступ к c, вам нужно сделать что-то подобное. если обещание не выполнено, оно будет кэшировано в методе .catch, вы можете войти в него и посмотреть, была ли какая-то проблема

const c =  axios.get("http://localhost:3000/unverifiedProperty/warehouse",{
    headers:{
        'Authorization':'Bearer 0000000'
    }
}).then(res=>res)
.catch(err=>err)

вот ссылка на то, как работают обещания https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...