- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 Create React Native App
构建一个 react-native
应用程序。对于后端,它使用 Firebase Firestore
。该应用程序在 iOS 上运行良好,但在尝试从后端获取数据时在 Android(包括模拟器和设备)上失败并出现以下错误:
22:02:37: [2018-05-22T05:02:33.751Z] @firebase/firestore:, Firestore (4.10.1): Could not reach Firestore backend.
- node_modules\react-native\Libraries\ReactNative\YellowBox.js:71:16 in error
- node_modules\@firebase\logger\dist\cjs\src\logger.js:97:25 in defaultLogHandler
- ... 18 more stack frames from framework internals
知道可能是什么问题以及如何调试吗?
该错误似乎是一般性的,因为还有其他问题具有相同的错误消息。但在这种情况下,它仅特定于 Android。
完整日志和堆栈跟踪:
21:50:51: Warning: Expo version in package.json does not match sdkVersion in manifest.
21:50:51:
21:50:51: If there is an issue running your project, please run `npm install` in C:\Users\grigor\Documents\Bitbucket\AwesomeProject and restart.
21:51:08: Finished building JavaScript bundle in 26098ms
21:51:14: Running app on XT1053 in development mode
21:51:34: [2018-05-25T04:51:26.597Z] @firebase/firestore:, Firestore (4.10.1): Could not reach Firestore backend.
- node_modules\react-native\Libraries\ReactNative\YellowBox.js:71:16 in error
- node_modules\@firebase\logger\dist\cjs\src\logger.js:97:25 in defaultLogHandler
- ... 18 more stack frames from framework internals
21:51:37: Setting a timer for a long period of time, i.e. multiple minutes, is a performance and correctness issue on Android as it keeps the timer module awake, and timers can only be called when the app is in the foreground. See https://github.com/facebook/react-native/issues/12981 for more info.
(Saw setTimeout with duration 3299464ms)
- node_modules\react-native\Libraries\ReactNative\YellowBox.js:82:15 in warn
- node_modules\react-native\Libraries\Core\Timers\JSTimers.js:254:8 in setTimeout
- node_modules\@firebase\auth\dist\auth.js:37:577 in Hc
* null:null in <unknown>
- node_modules\@firebase\auth\dist\auth.js:15:932 in y
- node_modules\@firebase\auth\dist\auth.js:37:606 in Ic
- node_modules\@firebase\auth\dist\auth.js:210:0 in kk
- node_modules\@firebase\auth\dist\auth.js:209:665 in start
- node_modules\@firebase\auth\dist\auth.js:215:38 in Dk
- node_modules\@firebase\auth\dist\auth.js:253:425 in ql
- node_modules\@firebase\auth\dist\auth.js:255:146 in <unknown>
- node_modules\@firebase\auth\dist\auth.js:19:220 in <unknown>
* null:null in Gb
* null:null in Cb
- node_modules\@firebase\auth\dist\auth.js:22:103 in Sb
- node_modules\@firebase\auth\dist\auth.js:15:643 in jb
- ... 10 more stack frames from framework internals
最佳答案
我没有针对该问题的确切解决方案,但我意识到我与 firebase
交互的方式使我的应用程序更容易受到影响。也许您可以在您的项目中发现我自己的一些设计缺陷?
我发现我在 try/catch
之外调用了 initializeApp
,这意味着只要遇到错误,整个 JavaScript 模块就会失败。因此,第一个解决方法是安全地正确处理初始化。
其次,这个错误在我构建对 firestore()
的调用的方式中变得很突出。例如,我对 firebase.firestore()
的第一次调用嵌入在一个返回 Promise
的方法中,即:
() => firebase.firestore().collection('someCollection').get().then(...).catch(e => ...);
现在,使用这种方法,如果在返回 Promise
之前与 firestore
的交互失败,我们实际上不会捕获
错误!这是因为它在创建 Promise
的链中出现得太早了。这再次意味着,应用程序似乎会在比应用程序内部可能捕获的问题明显更深的层次上失败。但那是错误的!
正确的实现是首先将与 firebase.firestore()
的交互包装在 Promise
中:
return new Promise(resolve => firebase.firestore().collection(...)).then(q => ...).catch(e =>...);
希望这在某种程度上有所帮助。我知道这是一个棘手的问题!
关于android - Firebase Firestore : Could not reach Firestore backend (Android only),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50501749/
https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-policies
https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-policies
首先,我是 django/python 的新手。 我正在尝试创建一个登录网站,允许用户注册一个帐户并通过电子邮件或直接登录验证 通过 fb 或 google(Oauth) 当我点击发送到 email
我正在ubuntu服务器上部署Django Web应用程序。配置已设置。但是,以某种方式,它显示了500 Internal Server Error。我检查了apache错误日志,发现以下错误条目:
我是深度学习的初学者,在执行实际作业时,在 keras.backend 上看到了 Keras 文档. 我解释了很多遍。但是,我不能完全理解 max 和 argmax 函数之间的区别。 最佳答案 我将使
我的后端作业基于 cron 作业(每 4 小时一次)运行。但它在没有处理数据的情况下终止。服务器日志显示如下: 500 15377121ms 0kb instance=0 AppEngine-Goog
django.db.backends.dummy 和 django.db.backends.mysql 有什么区别?我发现有人使用dummy和mysql,但我搜索后不知道它们的区别。 最佳答案 dja
我注意到 tf.keras.backend.get_session() 和 keras.backend.get_session() 返回不同的 session 对象。 无论如何要确保它们返回相同的对象
如果一个 gis 应用程序有一些没有 gis 相关列的表,使用多个数据库(django.db.backends.postgresql_psycopg2 和 django.contrib.gis.db.
I have a question about Ariflow oracle connection. I tried a lot but couldn't find a solution, I
django_redis导入失败 six来自 django.utils 追溯: Internal Server Error: /harem/reponse/ Traceback (most recen
我想运行 python 文件。但我在运行时可以检查到这个错误。 导入错误:pycurl:libcurl 链接时 ssl 后端 (openssl) 与编译时 ssl 后端(无/其他)不同 我的系统是Ma
我正在尝试实现自定义损失函数 def lossFunction(self,y_true,y_pred): maxi=K.argmax(y_true) return K.mean((
当我的神经网络的 forward 函数(训练阶段完成后)正在执行时,我遇到了 RuntimeError: Expected object of backend CUDA but got backend
我从头开始创建了一个Kotlin原生应用程序,我得到了上面的错误。我怎么才能解决这个问题呢?这是一款简单的“Hello World”应用程序。我有其他计算机,但该错误没有出现在那里。我认为这与科南没有
我目前正在学习 Redux,我发现拥有一个状态真实来源有很大好处。我想知道后端是否也可以从状态管理中受益,但我在网上看不到任何相关信息,所以我认为不会。虽然我找到了this这似乎实际上是为了将 red
我有一个 TYPO3 网站,其中默认网站语言是德语。不久前,我添加了另一种网站语言,即英语。 我现在需要做的是在后端交换这两种语言: 从: 默认:德语 替代:英语 到: 默认:英语 替代:德语 所以在
客户端渲染和服务器端渲染有什么区别。他们听起来有点相似。我参加了一个网络研讨会,那里的开发人员说为客户端做这个,为服务器端做这个。两者有什么区别吗? 最佳答案 嗯,客户端意味着服务器向客户端发送一些结
目前我正在使用 Dialogflow 处理 LINE 应用程序中来自用户的消息。 我计划将 Dialogflow 与自定义后端实现集成。 fulfillment 应该有一些特定于用户的消息(例如每个用
我已经在本地环境中为这个问题苦苦挣扎了一段时间了。我一直到处寻找许多不同的解决方案。 设置:我在配置文件中创建一个后端,该后端指向没有缓存(通过)的外部网站。 行为:随机地,后端连接关闭,并显示消息“
我是一名优秀的程序员,十分优秀!