【问题标题】:How to use a String returned by a Future<String> method in flutter?如何在颤振中使用 Future<String> 方法返回的字符串?
【发布时间】:2021-03-07 23:47:28
【问题描述】:

我正在尝试使用以下方法读取 json 文件的组件:

import 'dart:io';

class CharacterDataReader {
  Future<String> read() async {
    final file = File('assets/data/character_data.json');

    String data = await file.readAsString();

    return data;
  }
}

现在,我正在尝试使用以下方法将读取的值分配给名为 data 的字符串并在另一个类中 json.decode() :


Future<String> data = CharacterDataReader().read();
Map<String, dynamic> characterData = json.decode(data);

但是,这不起作用,因为 json.decode() 只接受字符串作为参数。因此,有人可以告诉我如何将这个 Future 转换为实际的字符串吗?

【问题讨论】:

    标签: flutter future flutter-desktop


    【解决方案1】:

    因为它是一个未来,所以你必须添加 await 关键字

    String data= await CharacterDataReader().read();
    

    asynchronous programming上查看飞镖官方文档

    【讨论】:

      猜你喜欢
      • 2022-08-19
      • 2020-10-22
      • 1970-01-01
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      • 2021-04-28
      • 2015-07-07
      相关资源
      最近更新 更多