所以我有一个函数返回一个未来的值.当这个函数执行时,我想从未来提取字符串.我该怎么做?
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)));
}
Run Code Online (Sandbox Code Playgroud)
这个函数返回Future<String>
,我想在使用图像小部件时提取到字符串
Gün*_*uer 21
Future someMethod() async {
String s = await someFuncThatReturnsFuture();
}
Run Code Online (Sandbox Code Playgroud)
要么
someMethod() {
someFuncTahtReturnsFuture().then((s) {
print(s);
});
}
Run Code Online (Sandbox Code Playgroud)
没有办法从异步(未来)转到同步执行.
async
/ await
只是语法糖,使代码看起来更像同步代码,但正如你在我的第一个例子中看到的,someMethod
将返回a Future
,如果你想s
在调用网站上使用字符串,你必须使用async
/ await
或then()
那里.
归档时间: |
|
查看次数: |
8660 次 |
最近记录: |