我在我的本地 Android 应用程序中使用提取 API 来向本地 API 发出请求。我通常在 http://localhost:8163查询反应网络应用程序的 API。
我正在物理设备上以调试器模式测试我的应用程序。我在某个地方读到反应本地不能像 Web 应用程序那样查询本地主机。显然,你必须使用 http://10.0.2.2:[PORT_NUMBER_HERE]/
,这是一个别名的“ http://127.0.0.1: [ PORT _ NUMBER _ here ]根据安卓模拟器停靠。我不确定这是不是我在物理设备上测试应该做的。
我的提取代码如下:
fetchToken() {
fetch('http://10.0.2.2:8163/extension/auth', {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-type': 'application/json'
}
})
.then((response)) => console.log('successful fetchToken response: ', response.json()))
.catch((error) => console.log('fetchToken error: ', error))
.done();
}
请求总是挂起一段时间,然后到达带有无用错误 TypeError: Network request failed(...)
的 catch
块。检查本地 API 的日志,他们根本不注册请求。
因此,我不知道是否正确地查询了本地 API 以获取所需的资源,如果正确,我也不知道为什么获取失败。