Я использую свой запрос базы данных postgres для определения моего следующего действия. И мне нужно дождаться результатов, прежде чем я смогу выполнить следующую строку кода. Теперь мой conn.query
возвращает Будущее, но я не могу получить его async, когда я помещаю свой код в другую функцию.Ждите, когда закончится будущее
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()
ждать возвращаемого значения, но все, что я делаю; он срабатывает немедленно. Может ли кто-нибудь указать мне часть документов, которая объясняет, что мне здесь не хватает?
Да, я прочитал, что часть документации, но я предполагаю, что я просто не получить ту часть, где я прохожу будущее через функцию. Теперь имеет смысл передать – Dani