firebase - 在本机反应中识别firebase身份验证和数据库查询超时
问题描述
问题背景
我所说的这个应用程序是使用 react native 开发的。
在我正在开发的应用程序中,有两种使用 firebase 的方法。一种用于查询数据库以获取一些数据,另一种用于 Firebase 身份验证。
问题
当我调用 firebase.database() 函数和 firebase.auth() 函数时,可能会出现路由器阻塞 firebase 请求等网络连接问题。在这种情况下,firebase 函数需要回复,但不会收到回复。这将是一个关于应用程序的巨大用户体验问题。
那么有没有一种方法可以识别超时并为用户提供一些通知以更改网络或执行某些操作?
笔记
使用 netinfo 我可以找到用户是否已连接到互联网。但如果firebase url被路由器阻止,则不会。所以我期待一个解决方案。
解决方案
如果网站被路由器/防火墙阻止,请求响应将是403: Forbidden。
您可以使用它进行测试fetch()
并通知用户响应为 403。
fetch('https://yourfirebasetestendpoint')
.then((response) => {
console.log(response.status)
if(response.status === 403){
// The firebase is blocked
}
})
.catch((error) => {
console.error(error);
});
推荐阅读
- java - (Java) 查找数字数组的所有可能组合
- html - 如何裁剪在块外爬行的内容?
- python - 使用python中的类ID在模态对话框中抓取Facebook Market
- java - Angular ng-swagger-gen 从一台服务器的许多资源生成
- visual-studio - Visual Studio 配置目录自动更改
- python - Pandas DataFrame:如何创建多列索引
- java - 有没有办法监控在 android studio 中使用 web 视图播放的视频的进度
- string - 如何在 Kotlin 中使用“.”将一个字符串拆分为两个字符串?
- python - Python 条件替换
- html - 悬停时 CSS 边框宽度更改无法按预期工作