Привет, ребята. Я использую сетевую функцию для всех моих классов для отправки данных на сервер, и я получил внезапную ошибку типа 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))
}
}