首页 > 解决方案 > flutter firebase如何返回此数据?

问题描述

我想运行它,但是它总是返回 0。我试图把 return 放在里面,但它不会返回任何东西。在此处输入图像描述

标签: androidfirebaseandroid-studiofluttergoogle-cloud-firestore

解决方案


您的函数是同步的,这意味着某些任务在它返回 0 后完成。您可以等待这些任务完成,因为它们相互依赖。

试试这个:

Future<num> getRating(foodId){
  num a = 0;
  num b = 0;
  num c;

  var user = await FirebaseAuth.instance.currentUser();
  if(user != null)
  {
     var docs = await Firestore.instance.collection('users').getDocuments();
     if(docs != null){
         if(docs.document[7].data[foodId] != null){
           // TODO
         }
         if(b != 0) {
             c = a / b;
             retrun c;
         } 
         return 0;
     }
     return 0; // Or throw exception when docs is null (this according to your need)
  }
  throw Exception("User unauthenticated!");
}

欢迎使用除此之外的任何其他解决方案。


推荐阅读