大家好,我为所有类都使用网络功能将数据发送到服务器,但突然出现error:network request failed
类型的错误。
在切换检查器中看到以下消息时,它显示responseURL undefined
和status : 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))
}
}