Dart错误:未处理的异常:E/flutter(5079):无效的参数:'Future< String>'的实例 [英] Dart Error: Unhandled exception: E/flutter ( 5079): Invalid argument: Instance of 'Future<String>'

查看:442
本文介绍了Dart错误:未处理的异常:E/flutter(5079):无效的参数:'Future< String>'的实例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将文档添加到我的Cloud Firestore数据库中.以这种方式.

I am trying to add document to my cloud firestore DB. In this manner.

Future<String> currentlyIn()async{
     FirebaseAuth auth = FirebaseAuth.instance;
    String fuser = await auth.currentUser();
    });
     return fuser.uid;
   }


Map<String, dynamic> votedown() {
    Map<String, dynamic> comdata = <String, dynamic>{
      'user_Id':currentlyIn(),
      'actual_vote':0,
      'voteUp': false,

    };
    return comdata;
  }

DocumentReference storeReference =Firestore.instance.collection('htOne').document('docq');
  await storeReference.setData(votedown());

但是,无论何时我运行代码,都会出现此错误.我需要有关如何成功解决此问题的帮助

However I get this error anytime I run the code. I need help on how to go about this successfully

E/flutter ( 6263): [ERROR:flutter/shell/common/shell.cc(181)] Dart Error: Unhandled exception: 
E/flutter ( 6263): Invalid argument: Instance of 'Future<String>'
E/flutter ( 6263): #0      StandardMessageCodec.writeValue (package:flutter/src/services/message_codecs.dart:353:7) 
E/flutter ( 6263): #1      FirestoreMessageCodec.writeValue (file:///C:/NoFlutterPerms/Git/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.4/lib/src/firestore_message_codec.dart:38:13)

推荐答案

currentlyIn返回Future.您需要这样对待它. 期货不会自动转换为其完成的价值.

currentlyIn returns a Future. You need to treat it as such. A Future doesn't automatically convert to the value it completes with.

您可以像这样使用async/await:

Future<Map<String, dynamic>> votedown() async {
    Map<String, dynamic> comdata = <String, dynamic>{
      'user_Id': await currentlyIn(),
      'actual_vote':0,
      'voteUp': false,

    };
    return comdata;
  }

DocumentReference storeReference =Firestore.instance.collection('htOne').document('docq');
  await storeReference.setData(await votedown());

这篇关于Dart错误:未处理的异常:E/flutter(5079):无效的参数:'Future&lt; String&gt;'的实例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆