我在 main 中使用 async wait,因此用户必须在进入应用程序之前在启动屏幕中等待。
void main() async {
await Firebase.initializeApp();
String? x;
await FirebaseDatabase.instance.ref().child("data").once().then((snapshot) {
Map data = snapshot.snapshot.value as Map;
x = jsonEncode(data);
});
return ChangeNotifierProvider<DataModel>.value(
value: DataModel(data: x),
child: MaterialApp()
);
}
Run Code Online (Sandbox Code Playgroud)
如果用户在没有互联网连接的情况下进入应用程序,他们将永远卡在启动屏幕上。如果还有互联网连接速度慢的用户,他们会在启动屏幕上停留更长时间。
所以无论互联网连接问题是什么,我想设置最多 5 秒只处于等待状态,如果超过,则跳过该部分并直接进入应用程序。
asynchronous async-await dart firebase-realtime-database flutter