我的Firestore网络应用有时在iOS上遇到以下错误:
@ firebase / firestore:Firestore(5.5.0):内部错误:在索引数据库服务器中遇到内部错误
是什么原因造成的,我该如何解决?
答案 0 :(得分:4)
这是由于iOS版本> = 12.2和<13中的错误所致。有关详细信息,请参见https://bugs.webkit.org/show_bug.cgi?id=197050。当页面或应用程序在后台运行一段时间后返回到前台时,可能会发生该错误。发生错误时,IndexedDB处于不可用状态,导致Firestore SDK生成上述错误,并且也变得不可用。
避免错误的唯一方法是禁用持久性。如果您需要启用持久性,则唯一可能恢复的方法是使用全局window.onerror
处理程序来捕获错误,例如刷新页面:
window.onerror = function(error) {
if (error.indexOf("An internal error was encountered in the Indexed Database server") >= 0) {
// Refresh the page to restore IndexedDb to a working state.
window.location.reload();
}
};
更多上下文:https://github.com/firebase/firebase-js-sdk/issues/1670