gpt4 book ai didi

react-native - 在响应 native 中处理网络请求失败

转载 作者:行者123 更新时间:2023-12-03 13:34:22 24 4
gpt4 key购买 nike

使用React Native Fetch API时遇到问题。很多次请求失败。我有一个高速连接。但是很多次失败了。
该问题正在android和ios中同时发生。

const shoppingApi  = 'myserverlink';

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

export {Sendshoppinapi};

我发送服务器作为后期请求的数据
  add_to_wishlist = (item,index) => {
{
let data = new FormData();
data.append('methodName', 'add_to_wishlist');
data.append('user_id', global.userid)
data.append('item_id', this.props.navigation.state.params.itemid.toString())


Sendshoppinapi(data).then((responseJson)=>{

console.warn(responseJson);
if(responseJson.responseCode == '200'){
this.setState({fav:false})
Alert.alert('SHOPPING','Item added to wishlist successfully.',[{text: 'OK',},],{ cancelable: false })

}
else{
this.setState({fav:false})
Alert.alert('SHOPPING','Item already .',[{text: 'OK',},],{ cancelable: false })
}
})}
}

请求失败时的错误
error

fullscreen

最佳答案

我引用了我在其他帖子中使用过的答案-但是我添加了等待。

您可以检查调用状态,以确定网络调用失败的原因。尝试使用提取的ok检查响应是否有效,例如:

.then(function(response) {
if (!response.ok) {
//throw error
} else {
//valid response
}
})

使用等待:
 let response = await fetch(url)
if (response.ok) return await response.json()

您还可以访问响应的状态,例如:
response.status;

或statusText,例如:
response.statusText;

查看以下内容:

https://developer.mozilla.org/en-US/docs/Web/API/Response/statusText

https://developer.mozilla.org/en-US/docs/Web/API/Response/status

https://www.tjvantoll.com/2015/09/13/fetch-and-errors/

关于react-native - 在响应 native 中处理网络请求失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52586730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com