我使用我的 postgres 数据库查询来确定我的下一步操作。而且我需要等待结果才能执行下一行代码。现在我conn.query
返回了一个 Future,但是当我将代码放在另一个函数中时,我无法让它异步。
main() {
// get the database connection string from the settings.ini in the project root folder
db = getdb();
geturl().then((String url) => print(url));
}
Future geturl() {
connect(db).then((conn) {
conn.query("select trim(url) from crawler.crawls where content IS NULL").toList()
.then((result) { return result[0].toString(); })
.catchError((err) => print('Query error: $err'))
.whenComplete(() {
conn.close();
});
});
}
我只想geturl()
等待返回值,但无论我做什么;它立即开火。谁能给我指出一个解释我在这里缺少什么的文档?