Dart 将字符串从firestore保存到变量
我试图从firestore中获取一个值,并将其保存到flutter中的一个变量中。我尝试使用StreamBuilder,但因为我没有构建小部件,所以它不起作用 为了澄清我的问题,我试图从firestore文档中获取url,然后在按下应用程序中的按钮时打开它 我还试图修改在另一个问题中找到的代码,但返回nullDart 将字符串从firestore保存到变量,dart,flutter,google-cloud-firestore,Dart,Flutter,Google Cloud Firestore,我试图从firestore中获取一个值,并将其保存到flutter中的一个变量中。我尝试使用StreamBuilder,但因为我没有构建小部件,所以它不起作用 为了澄清我的问题,我试图从firestore文档中获取url,然后在按下应用程序中的按钮时打开它 我还试图修改在另一个问题中找到的代码,但返回null Future\u getUrl()异步{ DocumentReference docRef=Firestore.instance.collection('information')。doc
Future\u getUrl()异步{
DocumentReference docRef=Firestore.instance.collection('information')。document('pdf');
var数据;
docRef.get().then((datasnapshot){
data=datasnapshot.data['url'];
});
返回数据;
}
该集合称为信息、文档pdf和字段url。此方法将返回null,因为在返回数据之前,您不会等待get()将来返回。get()是未来的,因此它将异步执行。同时,您的程序将转到下一行,即返回数据 像这样的东西可以满足你的要求我想:
Future _getUrl() async{
DocumentReference docRef = Firestore.instance.collection('information').document('pdf');
return docRef.get().then((datasnapshot){
return datasnapshot.data['url'];
});
}
由于
\u getUrl
已标记为async
,因此也可以在其正文中使用wait
来返回正确的值:
Future _getUrl() async {
DocumentReference docRef = Firestore.instance.collection('information').document('pdf');
await datasnapshot = docRef.get();
let data = datasnapshot.data['url'];
return data;
}