如何解决网络不稳定问题和网络请求无法响应本机

时间:2018-10-06 14:24:04

标签: reactjs react-native react-native-android react-native-ios

大家好,我为所有类都使用网络功能将数据发送到服务器,但突然出现error:network request failed类型的错误。

在切换检查器中看到以下消息时,它显示responseURL undefinedstatus : 0

我想知道在请求失败时如何调用componentdidmount函数,以及如何确定从哪里调用该函数

class senddatatoNetwork extend component{
    componentDidmount(){
        let data = new FormData();
        data.append('methodName',       'items_list');
        if(this.state.isConnected == true)
        {
          Sendshoppinapi(data).then((responseJson)=>{
          this.setState({subscriptions: responseJson.details_app});
          this.setState({isLoading: false});
          console.warn(responseJson.status);
        }).then((responseJson)=>{
          if( responseJson.responseURL  === undefined)
          {
            this.componentDidMount()
          }

        })}
        else{
          this.setState({isLoading :true})
        }
    }
}

我的项目的网络功能

  async function Sendshoppinapi(data) {
      try {
          let response = await fetch(shoppingApi, {
              method: 'POST',
              headers: {
                  'Accept': 'application/json',
                  'content-type':'multipart/form-data'
              },
              body: data
          }).then(statusHelper)
          let responseJson = response.json();
          return responseJson;
      }
      catch (error) {
          //console.error(`Error is : ${error}`);
          Alert.alert('Server error' + error.toString())//);
      }
  }

function statusHelper (response) {
  if (response.status >= 200 && response.status < 300) {
    return Promise.resolve(response)
  } else {
    return Promise.reject(new Error(response.statusText))
  }
}

0 个答案:

没有答案