[英]Possible unhandled promise rejection, network error when using axios
[英]Unhandled promise rejection: Error: Network Error
我正在尝试从 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>
)}
我想使用获取请求获取数据。
在终端中,我得到了这个:
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
我已经使用邮递员确保我没有网络问题。 您可以查看此屏幕截图:
请在这里帮助我。
首先,缺少功能测试屏幕右括号 (})
其次 axios.get(或任何其他方法)返回一个 promise 。 要访问您的 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
这是用于从服务器获取数据的示例 axios.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);
如果您在 Android 模拟器上进行测试,我认为您的问题在于名称localhost
而不是本地主机尝试这个IP地址10.0.2.2
像这样 :
http://10.0.2.2:3000/unverifiedProperty/warehouse
有时如果我们使用本地主机,通常会在您遇到错误时出现,请尝试使用您计算机的 IP 地址。
如果您是 Linux 或 Mac 用户,您可以通过ifconfig查看
如果你是windows用户,可以使用命令:cmd中的ipconfig
然后将 localhost 替换为您的 IP 地址。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.