【问题标题】:Future incompatibility未来不兼容
【发布时间】:2021-01-16 08:19:46
【问题描述】:

我从Firebase 中提取数据以制作FLSpots 的list 并尝试将其分配给LineChartBarData(spots: ),但不兼容不允许这样做。

static Future<List<FlSpot>> _getDataFromFirestore() async {

  ...
  ...

  List<FlSpot> spots = listData.asMap().entries.map((e) {
    return FlSpot(e.key.toDouble(), e.value);
  }).toList();

  // print(spots);
  return spots;

如何分配它以避免错误: The argument type 'Future&lt;List&lt;FlSpot&gt;&gt;' can't be assigned to the parameter type 'List&lt;FlSpot&gt;'. 当我尝试时

LineChartBarData(
          spots: _getDataFromFirestore(),

【问题讨论】:

  • 您应该等待 _getDataFromFireStore。您可以使用 initState 来加载数据。在加载数据时,您会显示一个加载指示器。这是异步数据的常用方法

标签: list firebase flutter dart future


【解决方案1】:
LineChartBarData(
          spots:await _getDataFromFirestore(),

在调用函数之前使用await关键字。

【讨论】:

  • 没有变化,只是把“意外的文本等待”扔给我。
  • 如果您使用的是 firebase,请使用 steam Builder
猜你喜欢
  • 1970-01-01
  • 2019-07-31
  • 2013-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-20
  • 1970-01-01
  • 2013-06-02
相关资源
最近更新 更多