react-native - 神秘的反应本机获取行为
问题描述
我的反应本机代码中有一个刷新令牌调用。有时发生的情况是调用了刷新令牌 api,后端完成了它必须做的所有事情,但响应没有到达应用程序。当我们看到 IIS 日志时,我们看到状态代码 0 和子代码 64(可能与网络有关)。
这是刷新令牌调用的代码
async refreshToken(refreshToken: string, username: string) {
try {
let data = 'grant_type=refresh_token&refresh_token=' + refreshToken
data = data + '&client_id=' + Config.CLIENT_ID
data = data + '&username=' + username
const headers = {
'Content-Type': 'application/x-www-form-urlencoded',
accept: 'application/json',
}
const iData: any = this.initData('POST', headers, data)
LogService.log(
'apiClient',
'apptype',
`Sending refresh token call init data ${JSON.stringify(iData)}`,
)
//console.log(iData)
const response = await fetch(Config.API_BASE_URI + '/token', iData)
console.log(`Response fra refresh token call ${JSON.stringify(response)}`)
LogService.log(
'apiClient',
'apptype',
`Response fra refresh token call ${JSON.stringify(response)}`,
)
if (response.status != 200) {
throw 'Failed to refresh token ' + response.status
}
const responseJson = await response.json()
//console.log(responseJson)
return responseJson
} catch (e) {
console.log('Error refresh token', e)
throw 'Failed to refresh token ' + JSON.stringify(e)
}
},
我们正在使用 React Native fetch,我们应该转移到 axios 吗?
什么时候会发生响应没有到达客户端的情况?
解决方案
推荐阅读
- java - 如何打印或放入一些 HashMap 或其他任何我的查询结果?
- bot-framework-composer - 如何在 bot-framework composer 中使用 post 请求发送 url 编码的表单数据
- typescript - 在 W3C 模式下无法调用非 W3C 标准命令
- monitoring - 使用 Application Insights 自定义警报规则
- python - 单击购物车按钮在 Selenium Webdriver Python 中返回空值
- angular - 如何保存最后的组件更改?
- reactjs - 在 Material-UI 中进行样式设置的惯用方式是什么?
- javascript - Next 未定义 next(err)
- google-cloud-platform - Google Cloud 上的 Kubernetes (GKE):从 Traefik 获取客户端的真实 IP
- sapb1 - 水晶报表文本函数