base de datos de consultas sqljocky de forma síncrona

Estoy tratando de consultar una base de datos MySQL de forma sincronizada con sqljocky. tengo unLoad clase que ejecuta la consulta y obtiene los datos y luego importa los datos a unaUser objeto. El problema que tengo es que el futuro que ejecuta la consulta no regresa a tiempo para devolver el objeto al método de llamada.

DataObject user = new DataObject();
user.Get(1234);
// I cannot do anything here because the returned object is null
user.somethingElse();

DataObject Get(String ID){
  return access.Load(this, ID);
}

// Runs query
Load(DataObject object, String ID){
  // Set up query
  String query = 'select * from users where ID = \'' + ID + '\'';
  // Run query
  var completer = new Completer.sync();
  pool.query(query).then((result) {
    result.listen((row) {
      // Import into object
      object.Import(row);
    }, onDone: () {
      completer.complete(object);
    });
  });
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta