如何在.then((){})之外获取此变量的值;陈述扑朔迷离?

时间:2018-12-24 18:06:07

标签: firebase dart flutter google-cloud-firestore

我有以下几行代码

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());

这会产生一个错误,指出布尔值不能为null,因此如何从check语句内部检索.then的值,以便可以在外部使用.then语句?

1 个答案:

答案 0 :(得分:2)

如果使用#standardSQL SELECT b.year, b.month, label, AVG(value) value FROM `project.dataset.ts_b` b JOIN `project.dataset.ts_a` a ON a.year * 12 + a.month BETWEEN b.year * 12 + b.month - 12 AND b.year * 12 + b.month - 1 GROUP BY year, month, label 子句,则需要在其中进行所有工作,并且无法在外部使用它的值,因为您不知道何时收到答案。

您可以在Row year month label value 1 2017 3 A 15.0 2 2017 4 B 20.0 那里找到答案,并用.then()标记包含代码的方法。

await

async