首页 > 解决方案 > 神秘的反应本机获取行为

问题描述

我的反应本机代码中有一个刷新令牌调用。有时发生的情况是调用了刷新令牌 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 吗?

什么时候会发生响应没有到达客户端的情况?

标签: react-nativefetch

解决方案


推荐阅读