gpt4 book ai didi

firebase - 如何在 .then((){}); 之外获取此变量的值?声明 flutter 朔迷离?

转载 作者:IT王子 更新时间:2023-10-29 06:54:15 24 4
gpt4 key购买 nike

我有以下几行代码

bool check;

Firestore.instance.collection('tests').where('name',isEqualTo: snapshot['name'].replaceAll('.mp4','.txt')).getDocuments().then((docs){
if(docs.documents[0].exists) check = true;
else check = false;
});
debugPrint(check.toString());

这会产生一个错误,指出 bool 值不能为 null,那么我如何从 .then 语句中检索 check 的值我可以在 .then 语句之外使用它吗?

最佳答案

如果您使用 .then() 子句,您需要在其中完成所有工作并且您不能在外部使用它的值,因为您不知道何时收到答案。

您可以等待那里的答案,并用async标记包含您的代码的方法。

bool check;
final docs = Firestore.instance.collection('tests').where('name',isEqualTo: snapshot['name'].replaceAll('.mp4','.txt')).getDocuments();
if(docs.documents[0].exists)
check = true;
else
check = false;
debugPrint(check.toString());

Future<void> doSomething() async {
bool check;
final docs = Firestore.instance.collection('tests').where('name',isEqualTo:
snapshot['name'].replaceAll('.mp4','.txt')).getDocuments();
if(docs.documents[0].exists)
check = true;
else
check = false;
debugPrint(check.toString());
}

关于firebase - 如何在 .then((){}); 之外获取此变量的值?声明 flutter 朔迷离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53916529/

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