【问题标题】:Future String in flutter [closed]颤动中的未来字符串[关闭]
【发布时间】:2018-01-24 03:14:16
【问题描述】:

所以我有一个返回未来值的函数。当这个函数执行时,我想从未来提取字符串。我该怎么做?

Future<String> coverImage(id, space) {
  String link = 'https://cdn.contentful.com/spaces/$space/assets/$id?access_token=1d4932ce2b24458e85ded26532bb81184e0d79c1a16c5713ec3ad391c2e8f5b3';
  return http.get(link).then((response) => decodeToImage(decodeJson(response.body)));   
}

这个函数返回Future&lt;String&gt;,当我使用图像小部件时,我想提取到字符串

【问题讨论】:

    标签: android flutter


    【解决方案1】:
    Future someMethod() async {
      String s = await someFuncThatReturnsFuture();
    }
    

    someMethod() {
      someFuncTahtReturnsFuture().then((s) {
        print(s);
      });
    }
    

    没有办法从异步(未来)到同步执行。 async/await 只是使代码看起来更像同步代码的语法糖,但正如您在我的第一个示例中看到的,someMethod 将返回 Future,如果您想使用字符串 s在呼叫站点上,您必须在那里使用async/awaitthen()

    【讨论】:

      猜你喜欢
      • 2021-07-05
      • 2018-05-13
      • 2013-01-23
      • 2011-11-15
      • 2020-10-19
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多