gpt4 book ai didi

firebase - 可以在 main 中调用 firebase.initializeApp()

转载 作者:行者123 更新时间:2023-12-04 01:14:56 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp() in Flutter and Firebase

(23 个回答)


1年前关闭。




Flutterfire 最近引入了一些更改,其中之一是需要在使用任何插件之前调用 initializeApp()。
可以在 main 中调用它吗? 像这样的东西:

void main() async {
await Firebase.initializeApp();
return runApp(App());
}
或者可能像这样没有异步等待
void main() {
Firebase.initializeApp();
return runApp(App());
}
我认为第一个例子更正确,但它阻止了 main 的执行,我不知道 future 完成还有多少时间?

最佳答案

Firebase 的唯一要求是您调用 Firebase.initializeApp()在调用任何其他 Firebase API 之前。如果不满足该条件,它将引发一个明确告诉您的异常。
在我的代码中,我在 main 中调用它,这是我能想到的最早的地方,并且它可以正常工作:

Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
...
Firebase 在这个级别的初始化几乎是即时的,因为它只是等待对 native 代码的调用完成,而 native 代码本身除了查找配置值之外什么也不做。
但是,如果这对您来说花费的时间太长,您可以不使用 await 来调用它。 .这只是意味着你可能不得不处理 Future<FirebaseApp>稍后在您访问 Firebase 的代码中。

关于firebase - 可以在 main 中调用 firebase.initializeApp(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63652710/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com