[英]how to use values from async functions in dart
我想在代码中使用字符串值,但是无法这样做。 请帮助,我是新手。
// Database (db) is database sqlite
// Dog class has a String field name
Text func() async{
var dog = await db.firstDog();
return Text(dog.name);
}
返回类型Text
不是由func.dart(return_of_invalid_type)
方法定义的Text
。
使用未来
例如
Future<Text> func() async{
String d = await getTest();
return Text(d);
}
在媒体上查看此文章 。 您可以得到很好的理解。 对于异步函数,应使用Future
类返回值。
Future<String> asyncFunc() async {
d = await db.firstDog();
return d.name;
}
然后使用此字符串设置TextView
的文本
先决条件
你可以做什么
Text
作为Widget
,您还可以返回Future<String>
Future<String> func() async {
var dog = await db.firstDog();
return dog.name;
}
Database db = new Database();
String _dogName;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Text(_dogName),
),
);
}
void func() async {
setState(() async {
var dog = await db.firstDog();
_dogName = dog.name;
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.