【问题标题】:How to Derive String from Future<String> in Dart如何从 Dart 中的 Future<String> 派生字符串
【发布时间】:2019-12-02 15:34:31
【问题描述】:

我希望得到一个字符串,以便从下面的 async 函数传递给 Flutter 中的第二个活动:

Future<String> getString() async {
    return await readFromFile("./abc.txt").toString();

}

我的问题是从上面的函数中获取一个字符串并在 onPressed() 函数中使用它,我想导航到下一页并希望将字符串传递到下一页。 每当我尝试这样做时,它都会给我类似“Future 的实例......”而不是实际的字符串。

【问题讨论】:

  • Yout 函数返回一个未来,你应该等待它 String response = await getString();那么然后将响应字符串传递给导航器
  • 谢谢,我试过了,但是速度太慢了。
  • readFile 导致的缓慢。你是在模拟器上测试这个吗?
  • 是的,我正在用模拟器测试它

标签: flutter dart


【解决方案1】:

您可以拆分分配或添加括号,因为现在您实际上尝试在toString 上使用await

Future<String> getString() async {
  Something content = await readFromFile("./abc.txt");
  return content.toString();
}
Future<String> getString() async {
  return (await readFromFile("./abc.txt")).toString();
}

【讨论】:

    猜你喜欢
    • 2021-04-28
    • 2020-10-22
    • 2021-01-30
    • 2020-05-20
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多