如何在飞镖中从 conn.query 获取数据
how to get data from conn.query in dart
我正在用 postgresql 做 dart,我不能 return 数据 conn.query(行)。但是结果来了,如何return呢,简单的代码就是
main(){
someOtherFunc();
}
Future add() async{
var uri = 'postgres://postgres:root@localhost:5432/testdb';
var conn = await connect(uri);
var sql = 'select * from test';
return conn.query(sql).toList();
}
Future someOtherFunc() async {
print(await add());
}
我得到 return 作为 "Instance of '_Future'!"
如果您在调用 add()
的函数中使用 await
,您将获得所需的结果
Future add() async {
var uri = 'postgres://postgres:root@localhost:5432/testdb';
var conn = await connect(uri);
var sql = 'select * from test';
return conn.query(sql).toList();
}
Future someOtherFunc() async {
print(await add());
}
async
具有传染性。当你调用异步函数时,你不能 return 同步执行。依赖于异步结果的所有内容都需要使用 await
(或 "old" .then((value) {})
)。 async
+ await
只是制造同步执行的错觉。
我正在用 postgresql 做 dart,我不能 return 数据 conn.query(行)。但是结果来了,如何return呢,简单的代码就是
main(){
someOtherFunc();
}
Future add() async{
var uri = 'postgres://postgres:root@localhost:5432/testdb';
var conn = await connect(uri);
var sql = 'select * from test';
return conn.query(sql).toList();
}
Future someOtherFunc() async {
print(await add());
}
我得到 return 作为 "Instance of '_Future'!"
如果您在调用 add()
的函数中使用 await
,您将获得所需的结果
Future add() async {
var uri = 'postgres://postgres:root@localhost:5432/testdb';
var conn = await connect(uri);
var sql = 'select * from test';
return conn.query(sql).toList();
}
Future someOtherFunc() async {
print(await add());
}
async
具有传染性。当你调用异步函数时,你不能 return 同步执行。依赖于异步结果的所有内容都需要使用 await
(或 "old" .then((value) {})
)。 async
+ await
只是制造同步执行的错觉。