世博会+firebase@9.0.1/9.0.0:@firebase/firestore:,firestore(9.0.



我刚刚从firebase@9.0.0-beta.7到firebase@9.0.1遇到以下错误:CCD_ 1。

我正在使用安卓工作室模拟器运行ExpoGo中的移动应用程序。在应用程序中,Auth运行良好,因为我可以让用户登录和注销,但当我尝试使用Firestore执行某些操作时,我会收到以下错误:Failed to get document because the client is offline.
例如,在基本的getDoc()函数中会发生这种情况

const dbRef = doc(db, 'exampleColletion', 'id');
await getDoc(dbRef).then(document => {
const information = document.data();
if (information !== undefined) {
eventsRetreived(information);
}
}).catch((err) => {
eventsRetreived(err);
console.log(err.message)
})

我已经使用firebase@9.0.1firebase@9.0.0进行了一些测试,但在这两种情况下,我都面临着相同的问题,但在firebase@9.0.0-beta.7中,一切都很好(我没有更改任何代码,只更改firebase的版本)。

如果需要更多的代码或信息,请告诉我需要添加什么,我会根据需要编辑这篇文章。

EDIT
发现了相关的github问题,但即使已关闭,我在测试后仍面临该问题firebase@9.0.2
https://github.com/firebase/firebase-js-sdk/issues/5402

EDIT2
这个问题似乎出现在Expo v.42中。目前Expo默认支持兼容版本的Firebase,因此目前的解决方案是使用firebase@9.0.0-beta.7或Expo支持并通过expo install firebase安装的兼容版本

我可以使用以下设置使其工作:

initializeFirestore(firebaseInstance.current, {
// @ts-ignore
useFetchStreams: false,
cacheSizeBytes: 100000000,
})

似乎iOS不想用Fetch API玩得很好,使用useFetchStreams就只能用XMLHttpRequest了,这似乎对我来说很有用。我在@firebase/firestore: Firestore (9.0.0): Could not reach Cloud Firestore backend. Backend didn't respond within 10 seconds0防火基地。

相关内容

  • 没有找到相关文章

最新更新