I am trying to query a MySQL database synchronously with sqljocky. I have a Load
class that runs the query and gets the data then imports the data into a
My guess is you want to do something like this (Note untested code):
Future<DBObject> load(DBObject object, String id) {
var query = "select ... where id='$id'"; // Note: check for SQL injection.
return pool.query(query)
.then((result) => result.toList())
.then((list) => list.forEach((row) => object.import(row)))
.then((_) => object);
}
Have you read this article about using Futures?
The key point is if a method is asynchronous, and the calling code needs to wait for it to complete, then it must return a Future object (or a Stream in some cases). There is no way in Dart to get a function to "block" waiting for an asynchronous result. Feel free to ask some more questions in the comments.