use*_*643 1 dart firebase flutter google-cloud-firestore
我正在使用 flutter 和 firebase 来创建一个应用程序。下面的函数从我的 firebase 数据库中获取一些数据,但问题是获取数据所需的时间太长。如何确保应用程序先等待 Firebase 获取数据完成,然后再继续?
我想做一些类似于等待的事情,但我不知道我是否可以这样做:
await Firestore.instance...
Run Code Online (Sandbox Code Playgroud)
代码:
void getData() {
Firestore.instance
.collection('collection')
.document('document')
.get()
.then((DocumentSnapshot ds) {
var count = ds.data.length;
for(var i = 0; i < count; i ++){
Firestore.instance
.collection('collection')
.document('document')
.get()
.then((DocumentSnapshot dss) {
// do something
});
}
});
}
Run Code Online (Sandbox Code Playgroud)
要使用await,您必须将函数设置为async:
Future<void> getData() async {
Run Code Online (Sandbox Code Playgroud)
那么是的,你可以做
var result = await Firestore.instance.collection...
Run Code Online (Sandbox Code Playgroud)
而不是在 then() 回调中处理 Future 结果。在 Future 解决之前,不会执行下一行。
| 归档时间: |
|
| 查看次数: |
5496 次 |
| 最近记录: |