首页 > 解决方案 > 参数类型“Future”不能分配给参数类型“String”

问题描述

我想获取 url 以在我的应用程序中使用 firebase 存储图像

我有这个方法:

Future abc(ad) async{    
  final ref = FirebaseStorage.instance.ref().child(ad);
  var url = await ref.getDownloadURL();
  print(url);
  return url;

我用一个final a = abc(snapshot.data[index].data["photo"].toString());

ListTile(
              leading:Image.network(a),
              title: Text("Reporte de:"+snapshot.data[index].data["nombre"].toString()+snapshot.data[index].data["apellidos"].toString()),
              subtitle: Text("Fuga en:"+snapshot.data[index].data["colonia"].toString()+" cuya gravedad es:"+snapshot.data[index].data["gravedad"].toString()),
            ),

我究竟做错了什么?

标签: firebaseflutterdart

解决方案


调用 abc 时使用 await ,然后转换使用 a.toString() 作为 Image.network 的参数

因为您返回的是未来类型,所以 a 将属于该类型,因此您需要在传递给 Image.network 之前将其转换为字符串类型


推荐阅读