由于网络错误,React Native App崩溃

时间:2018-11-24 08:39:45

标签: android react-native

我正在使用本机开发一个文档上传应用程序。 如果网络状况良好,则会上传文档,但是如果网络中断,应用程序突然会崩溃。 例如-如果我在4G网络上上传文档,那么我会从API获得成功,但是如果网络速度突然下降到2G网络(即20KB / S),那么我会收到“网络请求失败/网络错误”,应用崩溃。 / p>

我已经使用catch块处理了错误,但是应用仍然崩溃,即使网络不可用或速度下降,我该怎么做以避免崩溃?

下面是我的代码-

try{
var form = FormData();
form.append("user_id",this.state.userId);
form.append('file', {
        uri: this.state.path,
        type: 'image/jpg',
        name: 'image.jpg',
});
axios({
method:"POST",
url:"http://xxxxx/xxxx",
timeout:50000,
data:form
})
.then(response => console.log(response))
.catch(error=>console.log(error));

}
catch(error){
console.log(error);
ToastAndroid.show("Internal error, please try again");
}

注意-我使用了react-native-image-picker,因为可以使用相机捕获文档,也可以从设备中现有的文件中上传文档。

还已在清单文件中添加了所有权限以用于Internet访问。

请帮助

1 个答案:

答案 0 :(得分:0)

那是一个例外。我想你需要抓住例外 BadNetwork或超时您需要捕获它,并且应用程序不应崩溃,只需确保 在“捕获”中,您需要显示“无法连接到服务器”对话框。 或您需要检查是否具有网络连接,然后仅让用户发送请求显示不可取消对话框 希望有帮助。